• [^] # Re: Encore le type Null...

    Posté par . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 4.

    Parce que ça complique la lecture de code car les exceptions peuvent te faire sauter 'n'importe où' aisément, ce qui complique les choses,

    Personnellement, j'ai tendance à écrire l'algorithme sans gestion d'erreur puis à l'encadrer. Par exemple ce qui s'écrit ainsi en C :

    int fd = open(/* ... */);
    if (-1 == fd) {
     // error
    }
    int size = read(fd, /* ... */);
    if (-1 == size) {
     // error
    }
    
    

    s’écrirais dans un langage objet (je me prend pas la tête avec l'API de Java ou du C++) :

    try {
     int fd = open(/* ... */);
     int size = read(fd, /* ... */);
    }
    catch (FileException ex) {
     // error
    }
    
    

    Du coup le block try est clair (même s'il ajoute un niveau d'indentation). Le problème c'est que ça réduis la granularité de celui-ci mais c'est relativement rare d'avoir besoin d'une granularité très fine dans la gestion d'erreur.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)