Je crée une bibliothèque qui devrait renvoyer des erreurs donc je me demande laquelle utiliser à mes fins.
PDATE: Je devrais clarifier, le résultat retourné proviendra d'un appel asynchrone donc j'ai besoin d'informer l'utilisateur s'il y a eu une erreur et je voudrais savoir quel type je devrais utiliser Error ou NSError.
NSError
est un cacao classe
Un objet
NSError
encapsule des informations sur une condition d'erreur d'une manière extensible orientée objet. Il se compose d'un domaine d'erreur prédéfini, d'un code d'erreur spécifique au domaine et d'un dictionnaire d'informations utilisateur contenant des informations spécifiques à l'application.
Error
est un Swift protocole auquel les classes, structures et énumérations peuvent et NSError
sont conformes.
Un type représentant une valeur d'erreur pouvant être levée.
Tout type qui déclare la conformité au protocole
Error
peut être utilisé pour représenter une erreur dans le système de gestion des erreurs de Swift. Étant donné que le protocoleError
n'a pas d'exigences propres, vous pouvez déclarer la conformité sur tout type personnalisé que vous créez.
Les parties citées sont les descriptions des sous-titres dans la documentation.
Le système de gestion des erreurs de Swift est le modèle pour détecter les erreurs à l'aide de try - catch
. Il nécessite que l'erreur à détecter soit thrown
par une méthode. Ce modèle est beaucoup plus polyvalent que la gestion des erreurs traditionnelle utilisant des instances NSError
. Si vous prévoyez pas d'implémenter try - catch
vous n'avez en fait pas besoin du protocole Error
.