Swift랑 친해지기/Swift문법정리

[Swift] try-catch (에러처리)

데브킹덕 2022. 9. 27. 16:00

에러처리는  프로그램의 오류 조건에 응답하고 이를 복구하는 과정을 뜻함

 

스위프트에서는 발생(throwing), 감지(catching), 전파(propagating), 조작 (manipulating)을 지원함

 

Swift의 열거형은 관련 오류 조건 그룹을 모델링하는 데 적합해, 관련 값을 사용하여 오류 특성에 대한 추가 정보를 전달할 수 있음

 

열거형을 이용해 에러처리에 대해 알아봄

throw 명령문을 이용하여 오류를 발생시킬 수 있음

playground execution terminated: An error was thrown and was not caught

플레이그라운드 실행 종료:오류가 발생했지만 발견되지 않았다고 뜸

 

 

checkPhoneBatteryStatus라는 함수로 에러를 처리해보자

throws는 오류가 발생할 가능성이 있는 메서드 제목 옆에 붙여줌

guard문의 else블록안에 오류가 발생할 수 있도록 구간을 써줌

 

 

 

try, do catch 로 던진 오류를 처리함 

do {
 try 오류 발생 가능 코드
 } catch 오류 패턴{
 처리코드
 }

  • batteryLevel이 -1이면 PhoneError.unknown

 

  • -1이 아니고 20보다 작을 경우

 

 

  • 두구간이 아닐경우 배터리상태가 정상입니다.가 리턴

 

그 외 오류 발생:(error)

 

 

 

try? 

옵셔널 형태로 오류처리

 

 

try!

에러가 없을 것이 확신이 들때 

근데 최대한 쓰면 안돼