iOS/Swift
[Swift] error 종류 만들기와 catch
유훈 | Yuhun
2022. 1. 31. 02:42
반응형
import UIKit
// 에러 처리 예제
// 에러 종류 정하기
enum exError: Error {
// 발생할 에러 종류
case unknown
case exErrorOne(e:Int)
case exErrorTwo(e: Int)
}
// 에러 던지기
//throw exError.exErrorOne(e: 40)
// 에러 처리 1
// 함수에서 발생한 오류 해당 함수에 전파하는 경우
func checkError(e: Int) throws -> String{
guard e != -1 else{throw exError.unknown}
guard e >= 30 else{throw exError.exErrorTwo(e: 30)}
return "아무 오류도 발생하지 않음"
}
// do-catch 사용법
do {
// try 오류 발생 가능성 코드
try checkError(e: 20)
} catch exError.unknown {
print("모르는 에러 발생")
} catch exError.exErrorOne(e: 10){
print("errorOne 발생")
} catch{
print("이외의 error 발생: \(error)")
}
// 에러 처리 2
// try? 이용
let exA = try? checkError(e: 50)
print(exA)
반응형