주로 코드에서 발생하는 에러를 개별적으로 처리할 때 사용
func handleError() throws {
do {
try parsing(data: ["name":""])
} catch {
if let error = error as? DataParsingError {
switch error {
case .invalidType:
print("invalid type")
default:
print("handle error")
}
}
}
}
패턴이 없는 경우 보통 위와같이 처리
try표현식과 optional binding을 함께 사용
전달받은 error를 다른 코드 블럭으로 다시 전달함