Débattre > Informatique, programmation, geek attitude...

Dart - Exception handling

(1/1)

Songbird:
 :gp:
La gestion des exceptions avec Dart

Tout comme Java, C++, Ruby, ou bien d'autres: Dart dispose d'un système de gestion des erreurs très précis.

Attention tout de même, Dart n'affiche pas automatiquement l'intégralité de la pile lorsque vous essayez de renvoyer le résultat de l'erreur sur la sortie standard, nous allons donc voir comment faire.

Pour lancer une erreur, il va falloir utiliser le mot-clé throw comme ceci:


--- Code: ---
void displayUnsignedInteger(int i)
{
    if(i >= 0)
    {
        print(i);
    }
    else
        throw "i's value is negative.";
}


--- Fin du code ---

Lorsque vous passerez un entier négatif, le message d'erreur se lèvera.
Seulement, vous ne disposerez d'aucune indication quant à l'endroit où se trouve ce fameux message, et donc l'erreur; Voici comment procéder:


--- Code: ---void displayUnsignedInteger(int i)
{
    if(i >= 0)
    {
        print(i);
    }
    else
        throw "i's value is negative.";
}

try
{
    displayUnsignedInteger(-1);
}catch(e, stacktrace)
{
    print(stacktrace);
}


--- Fin du code ---

Vous obtiendrez alors un message de la sorte:

--- Code: ---i's value is negative.
    at dart.wrapException (<anonymous>:590:17)
    at dart.throwExpression (<anonymous>:603:15)
    at dart.main (<anonymous>:1422:11)
    at <anonymous>:1716:9
    at init.currentScript (<anonymous>:1700:7)
    at <anonymous>:1711:5
    at <anonymous>:1719:3
    at replaceJavaScript

--- Fin du code ---

Bien évidemment, si vous souhaitez personnaliser le message des exceptions tout en restant lisible, vous pouvez étendre la classe Exception sur l'une de vos classes personnelles pour récupérer le message destiné à un objet Exception.

Navigation

[0] Index des messages

Utiliser la version classique