Swift - 오류 처리

오류(예외)는 프로그램 실행 중에 발생하는 예기치 않은 이벤트입니다. 예를 들어,

var numerator = 10
var denominator = 0

// try to divide a number by 0
var result = numerator / denominator // error code


Swift에서 오류 처리를 위한 단계


  • 오류 유형을 나타내는 열거형을 만듭니다.
  • throws 키워드를 사용하여 throwing 함수를 만듭니다.
  • try 키워드를 사용하여 함수를 호출합니다.
  • do {...} 블록에서 try로 코드를 래핑하고 catch {...} 블록을 추가하여 모든 오류를 처리합니다.

  • 예시,

    // create an enum with error values
    enum DivisionError: Error {
    
      case dividedByZero
    }
    
    // create a throwing function using throws keyword
    func division(numerator: Int, denominator: Int) throws {
    
      // throw error if divide by 0
      if denominator == 0 {
        throw DivisionError.dividedByZero
      }
    
      else {
        let result = numerator / denominator
        print(result)
      }
    }
    
    // call throwing function from do block
    do {
      try division(numerator: 10, denominator: 0)
      print("Valid Division")
    }
    
    // catch error if function throws an error
    catch DivisionError.dividedByZero {
      print("Error: Denominator cannot be 0")
    }
    


    오류 처리 비활성화



    Swift에서 때때로 우리는 던지는 함수가 런타임에 오류를 던지지 않을 것이라고 확신할 수 있습니다.

    그런 경우, 우리는 try!를 쓸 수 있습니다! 함수 호출 중에 오류 처리를 비활성화합니다. 예를 들어,

    enum DivisionError: Error {
    
      case dividedByZero
    }
    
    func division(numerator: Int, denominator: Int) throws {
      if denominator == 0 {
        throw DivisionError.dividedByZero
      }
    
      else {
        let result = numerator / denominator
        print("Result:", result)
      }
    }
    
    // disable error handling
    try! division(numerator: 10, denominator: 5)
    

    좋은 웹페이지 즐겨찾기