Referenced by
에러 발생 시 해당 에러를 함수 내 처리 또는 사용자에게 에러를 알리는 등의 에러에 대한 처리
func canThrowErrors() throws -> String // 해당함수를 호출한 곳에서 에러처리
func cannotThrowErrors() -> String // 함수내에서 에러처리
throws
키워드를 작성하여 에러를 전파한다.던지기 함수
라 한다.전파만 가능
하다.해당함수 내에서 처리
되어야 한다.던지기 함수를 호출시에는 do-catch, try?, try!
를 사용하여 에러를 처리하거나 에러를 계속 전파시켜야 한다.
do {
try extension
statements
} catch pattern1 {
print("사용자가 잘못 입력하셨습니다.")
} catch pattern2 where condition {
print("네트워크에 문제가 생겼습니다.")
} catch pattern3, pattern4 where condition {
print("알수 없는 오류입니다, 잠시후 시도해주세요.")
}
던지기 함수 또는 메서드가 실제로 발생하지 않을 때 에러전파를 비활성화
try!
를 작성하여 에러를 발생하지 않도록 설정(값을 가져오지 못할경우 nil로 인해 크래시 발생
)
let photo = try! loadImage(atPath: "./Resources/John Appleseed.jpg")
loadImage
를 사용하면 이미지를 로드하지 못할 때
에러를 발생