• [^] # Re: .

    Posté par (site web personnel) . En réponse au journal Le point sur Java 7. Évalué à 3.

    Oui d'autant plus qu'on n'est pas limité au type Option. Si on veut ajouter la cause de l'échec, on peut utiliser le type Either par exemple :

    def getMachinById(id:ID): Either[Machin, String] = {
    ...
    if (machinUnavailable) Right("Machin non disponible")
    else if (machinKaputt) Right("Machin cassé")
    else Left(machin)
    }

    getMachinById(id) match {
    case Left(a) => /* utiliser a (le machin renvoyé) */
    case Right(msg) => println("Echoued with error: "+msg)
    }

    Enfin bref, tout sauf null !