예외처리

조정미·2024년 6월 26일

자습 일지

목록 보기
4/7
post-thumbnail

예외처리(Exception Handling)

실패 가능한 상황 및 예외 처리

에러처리


  • 프로그램에서 에러가 발생한 상황에 대응하고 이에 따른 과정 (파일을 찾을 수 없음, 메모리 부족, 사용자의 잘못된 입력 등)
  • Swift에서는 런타임에 에러가 발생한 경우, 처리를 지원하는 클래스를 제공함
  • 프로그램의 모든 기능이 개발자가 지정한 그대로 동작한다는 보장은 없다. 그렇기 때문에 예외처리를 통해 예외 상황을 구별 후 프로그램에서 자체적으로 오류를 해결하거나 유저에게 에러 발생 내용을 알려주는 등의 조치와 대응이 필요하다.

예외처리 정의

Error 프로토콜을 채택하여 사용자 정의 에러를 정의하여 사용할 수 있다.
(Error는 던져질 수 있는 오류 값을 나타내는 유형)

<예시>


try / throw / thorws / do-catch

(1-1) try

  • 에러가 발생할 수 있는 코드 블록을 표시한다.
  • 에러를 던질 수 있는 함수나 메서드를 호출할 때 사용된다
  • 해당 코드 블록에서 발생한 에러를 잡거나 처리할 수 있다 (do-catch문)

(1-2) try?

  • do-catch문 없이도 이용 가능
  • 에러 발생 시 nil 반환
  • 에러가 발생하지 않으면 리턴 값의 타입은 옵셔널

(1-3) try!

  • 에러가 발생하면 앱 강제 종료
  • 변환 타입은 옵셔널이 언래핑된 값으로 리턴
  • 오류가 발생하지 않는다는 보장 아래 사용

(2) throws

  • 리턴 값을 반환하기 전에 오류가 발생하면 에러 객체를 반환하게 해 줌
  • 오류가 발생할 가능성이 있는 메서드 제목 옆에 써 준다

(3) throw

  • 오류가 발생할 구간에 써 준다
  • throw로 던진 에러를 do-catch문에서 처리


<예제1>

<예제2>

0개의 댓글