Es scheint, dass Swift 2.0 hat sich von traditionellen ObjC (NSError zurück) und Swift 1.X (Erfolg/Fehler optionals) Konventionen geändert Laufzeitfehlerbehandlung zu etwas, das der Ausnahmebehandlung in Sprachen wie Java/C#/C++/etc sehr ähnlich sieht.Was ist der Unterschied zwischen Swift 2.0 do-try-catch und regulären Java/C#/C++ Ausnahmen
Apple hat traditionell emphasized use of NSError
instead of throwing NSException for runtime errors
(vs Programmierer Fehler), wie NSException
Stack Unwinding könnte Speicherverluste mit Standard ObjC Compilereinstellungen verursachen.
Jetzt haben sie jedoch etwas entwickelt, das den traditionellen Ausnahmen sehr, sehr ähnlich sieht. Meine Frage ist:
Gibt es echte Unterschiede zwischen Swift 2.0 Fehlerbehandlung und traditioneller Ausnahme neben Nomenklatur Handhabung (Fehler vs Ausnahme) und Syntax (do-catch, statt Try-Catch, versucht vor Methode Anruf usw.).
von Apple erwähnt (in Verwendung Swift mit Cocoa und ObjC), dass Swift 'do-catch' Anweisungen arbeiten mit NSError Methoden automatisch zurückkehr (mit einigen Code Konventionen), aber fangen Sie keine NSExceptions ab, die von ObjC-Code ausgelöst werden. – MDJ