-
Swift 5.6 Error Handling기술/iOS 2022. 3. 20. 17:53
Error Handling
Representing and Throwing Errors
Swift 에서는 Error 프로토콜에 준수하는 타입의 값으로 표현됩니다. 이 빈 프로토콜은 에러를 처리하는 것에 대해 사용될 수 있음을 나타냅니다.
Swift 열거형은 관련된 에러 조건의 그룹을 모델링하는데 특히 적합하며 관련값들을 사용하여 에러의 특성에 대한 추가 정보를 전달할 수 있습니다.
Handling Errors
Swift 에서는 에러를 처리하는 4가지 방법이 있습니다. 함수에서 해당 함수를 호출하는 코드로 에러를 전파하거나, do-catch 문을 사용하거나 옵셔널 값으로 에러를 처리ㅏㅎ거나 에러가 발생하지 않을것이라 주장할 수 있습니다.
Propagating Errors Using Throwing Functions
throws 키워드가 작성된 함수는 내부에서 발생한 에러를 호출된 범위로 전파합니다.
Handling Errors Using Do-Catch
Converting Errors to Optional Values
에러를 옵셔널 값으로 반환하여 처리하기 위해 try? 를 사용합니다.
try? 표현식을 평가하는 동안 에러가 발생하면 이 표현식의 값은 nil 입니다.
Disabling Error Propagation
런타임 에러가 발생하지 않을것이라 확신하는 메서드에는 try! 를 사용할 수 있습니다.
Specifying Cleanup Actions
코드 실행이 현재 블럭이 종료되기 직전에 defer 구문을 사용하여 일련의 구문을 실행합니다. 이 구문을 사용하여 에러가 발생하여 종료되거나 reutrn 또는 braek 와 같은 구문에 의해 종료되는 방식에 상관없이 필요한 정리를 수행할 수 있습니다.
defer 구문은 현재 범위가 종료될 때까지 실행을 연기합니다. 지연된 구문은 braek reeturn 구문과 같이 구문의 밖으로 제어를 이동하거나 에러를 발생시키는 코드를 포함할 수 엇습니다.
'기술 > iOS' 카테고리의 다른 글
Swift 5.6 Concurrency (0) 2022.03.20 Swift 5.6 Optional Chaining (0) 2022.03.20 Swift 5.6 Deinitialization (0) 2022.03.20 Swift 5.6 Initialization (0) 2022.03.20 Swift 5.6 Inheritance (0) 2022.03.20 TAG