1. Présentation
Dans la gestion des fichiers comme dans d’autres
domaines, certaines opérations peuvent échouer,
même si Swift contourne certains cas d’erreur à l’aide des
valeurs non optionnelles.
Ce chapitre présente ce qu’est une
erreur, comment une méthode l’émet et quelles
sont les façons d’appeler une méthode risquée.
2. Cas d’exemple
Soit le système d’achat simplifié suivant
:
struct Article {
let prix: Float
}
struct PorteMonnaie {
let montantDispo: Float
}
func acheter(_ article: Article, paiement: PorteMonnaie) ->
PorteMonnaie {
let reste = paiement.montantDispo - article.prix
return PorteMonnaie(montantDispo: reste)
}
Cette méthode permet d’acheter un
article, elle retourne un objet PorteMonnaie dont
le montantDispo est celui du PorteMonnaie passé en paramètre
auquel on a retranché le prix de
l’Article acheté.
var monPorteMonnaie = PorteMonnaie(montantDispo: 10.0)
var baguette = Article(prix: 1.10)
var ecranGeant = Article(prix: 899.99)
var anomalie = Article(prix: -23.0)
monPorteMonnaie = acheter(baguette, paiement: monPorteMonnaie)
monPorteMonnaie = acheter(ecranGeant, paiement: monPorteMonnaie)
monPorteMonnaie = acheter(anomalie, paiement: monPorteMonnaie)
Ce code s’exécute sans problème,
pourtant ...