스위프트 4 :
에 따라 :
https://developer.apple.com/documentation/foundation/nserror
사용자 정의 예외를 정의하지 않으려면 다음과 같이 표준 NSError 객체를 사용할 수 있습니다.
import Foundation
do {
throw NSError(domain: "my error description", code: 42, userInfo: ["ui1":12, "ui2":"val2"] )
}
catch let error as NSError {
print("Caught NSError: \(error.localizedDescription), \(error.domain), \(error.code)")
let uis = error.userInfo
print("\tUser info:")
for (key,value) in uis {
print("\t\tkey=\(key), value=\(value)")
}
}
인쇄물:
Caught NSError: The operation could not be completed, my error description, 42
User info:
key=ui1, value=12
key=ui2, value=val2
이를 통해 사용자 정의 문자열과 숫자 코드 및 필요한 모든 추가 데이터가 포함 된 사전을 모든 유형으로 제공 할 수 있습니다.
NB : OS = Linux (Ubuntu 16.04 LTS)에서 테스트되었습니다.