ошибка распространяется стандартным способом. пытаются имитировать ошибку, передавая неправильные данные функции или отключить некоторые аппаратные средства (например, сетевой адаптер ...) и попытаться сбросить его
import Foundation
func foo() throws ->Void {
// anonymous Error
struct Error: ErrorType {
var msg = "error msg"
}
throw Error()
}
func boo() throws ->Void {
// anonymous NSError
let e = NSError(domain: "domain", code: 100, userInfo: nil)
throw e
}
do {
try foo()
} catch let e {
print("foo throws:", e.dynamicType)
dump(e)
}
do {
try boo()
} catch let e {
print("boo throws:", e.dynamicType)
dump(e)
}
/* prints
foo throws: (Error #1)
▿ (foo() throws ->()).(Error #1)
- msg: error msg
boo throws: NSError
▿ Error Domain=domain Code=100 "(null)" #0
- NSObject: Error Domain=domain Code=100 "(null)"
*/
Если API/документация не говорит вам, то вы можете» Знаю. – matt
определенно звучит как ошибка, а не функция. Отправьте это как ответ, и я приму это. – cfischer