### 8.7.12 Intercepter une erreur : `try..catch`

On fait le bloc d’instructions après `try` : en cas d’erreur le message d’erreur est stocké dans la variable `err` sous forme d’une chaine, et `catch` exécute le bloc d’instructions après `catch (err)`.
On tape :

    try{A:=idn(2)*idn(3)}
    catch(erreur)
    {print("l'erreur est "+erreur)}

On obtient :

`"l’erreur est * Invalid dimension"`

On tape :

    essai(x):={
    local y,err;
    try {y:=[[1,2]]+x;}
    catch (err){y:="l'erreur est "+err;}
    return y;}

On tape :

`essai([1])`

On obtient :

`"l’erreur est + Bad Argument Value"`

On tape :

`essai([[3,4]])`

On obtient :

`[[4,6]]`