Swift 문법 심화 - 예외처리

유민우·2024년 6월 18일
0

우리는 실패가능한 상황과 예외 처리를 할 수 있어야 한다. 그럴때 사용하는

에러 처리

  • 프로그램에서 에러가 발생할 상황에 대응하고 대응하는 과정이다
  • Swift에서는 런타임 에러가 발생한 경우, 이를 처리하는 클래스를 제공한다.
  • 프로그램에서 모든 기능이 개발자가 원하는 대로 동작한다는 보장은 없다.
    따라서 우리는 예외처리를 통해 예외 상황을 구별하고 프로그램 자체적으로 오류를 해결하거나, 사용자에게 어떤 에러가 발생했는지 알려주는 등에 대한 조치와 대응을 해야한다.

Error

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

예시코드

이렇게 에러상황을 만들어 낼 수 있다.

throw 와 do-catch

  • throws는 리턴 값을 반환하기 전에 오류가 발생하면 에러 객체를 반환한다는 의미이다.
  • throws는 오류가 발생할 가능성이 있는 메소드 제목 옆에 써준다.
  • throw는 오류가 발생할 구간에 써준다.
  • throw로 던진 에러를 do-catch문에서 처리한다.

예시 코드

try

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

try?

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

try!

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

예시코드

profile
유민우

0개의 댓글