아삭아삭 iOS 개발

[Swift 독학] 패스트캠퍼스 챌린지 35일차_오류처리 본문

Swift

[Swift 독학] 패스트캠퍼스 챌린지 35일차_오류처리

바닐라머스크 2022. 2. 27. 01:25

스위프트에서 에러나가 표현되는 방식과 그 처리방안에 대해 정리해보겠습니다.

 

■ 오류 (Error)

- 스위프트에서 에러는 에러 프로토콜을 따르는 타입의 값으로 표현됨
 : 
에러 프로토콜은 요구사항이 없는  프로토콜이지만 오류를 표현하기 위해서는  프로토콜을 채택해야 
 : 
스위프트의 열거형은 오류 원인을 나누고 해당 오류의 특성에 대한 추가정보를 전달하는 모델을 만드는데 적합함

 

■ try-catch

- 에러를 처리하는 과정
-
프로그램 내에서 에러가 발생한 상황에 대해 대응하고 이를 복구하는 과정
- siwft
에서는 런타임에 에러가 발생한 경우, 이를 처리하기 위한 아래 4가지를 지원하는 1 클래스 지원함
  :
발생(throwing), 감지(catching), 전파(propagating), 조작(manipulating)
-
오류 처리 기능을 통해 오류발생 상황들을 구별하여 프로그램 자체적으로 오류를 해결할 수도 있고,
 
사용자에게 어떤 오류가 발생했는지 알려줄 수도 있음

 

■ Swift 오류처리 4가지 방법

1) 함수를 활용
  : 함수에서 발생한 오류를 해당 함수를 호출한 코드에게 전파
  :
오류가 발생할 있음을 나타내기 위해 함수/매개변수/생성자 매개변수 뒤에 throws 라는 코드 써주면
  :
반환값이 있을 경우, thows뒤에 반환값을 적어주면

2) do-catch
구문 활용
  :
함수, 메서드 생성자 등에서 오류를 던져주면, 오류발생을 전달받은 코드블록은 do-catch구문을 이용하여 오류 처리해주면

3)
옵셔널 값 활용
  :
오류가 발생할 같은 함수 앞에 try? 붙여준다
  :
함수가 에러를 던져주면 nil값이 반환되고,
   
함수가 에러를 던져주지 않는다면 옵셔널 값이 출력됨
   
4) try!를 활용
  : 오류가 발생하지 않을 것이라고 확신하는 방법
  :
함수 앞에 try! 붙여준다
  : throwing
함수나 메서드를 호출할   에러가 절대로 발생하지(던져주지) 않을 이라고 확신할 사용하는 방법 -> 만약 오류발생시 프로그램이 강제로 종료됨

 

 

 

 

 

본 게시물은 개인 공부 기록용이므로 내용에 오류가 있을 수 있습니다.

 fast campus강의  참조자료

[1] https://blog.yagom.net/564/

[2] https://bbiguduk.gitbook.io/swift/language-guide-1/the-basics#error-handling

 

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.