투케이2K

16. (swift/xcode) throws , do catch 문을 사용해 에러 발생 상황 확인 실시 본문

Swift

16. (swift/xcode) throws , do catch 문을 사용해 에러 발생 상황 확인 실시

투케이2K 2021. 10. 12. 10:18

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT


[소스 코드]

     /*
     [요약 설명]
     1. 스위프트에서는 throws , do catch 를 사용해서 에러 발생 처리를 실시할 수 있습니다
     2. [에러 발생 처리 로직]
         - 에러가 발생할 것 같은 함수에 throws 키워드를 사용해 선언 실시
         - 에러 발생 예상 함수에서 로직 처리 중 이상 데이터 값이 들어오면 throw 에러 발생 상황을 알림
         - 실제로 에러 발생 예상 함수를 사용하는 일반 함수쪽에서 do catch 선언 및 try 사용해 에러 발생 예상 함수 호출 실시
     3. 참고 : 일반적인 문법 오류 등에서는 catch 상황을 확인할 수 없습니다
     */
    
    
    
    // [테스트 메인 함수 정의 실시]
    func testMain() {
        print("[Program Start]")
        print("")
        
        // [do catch 문 정의 실시 >> 에러 발생 예상 함수 호출]
        do{
            let numDataOne = try testError(_num: 10) // 양수값 삽입 실시
            print("numDataOne 결과 : ", numDataOne)
            
            let numDataTwo = try testError(_num: -10) // 음수값 삽입 실시
            print("numDataTwo 결과 : ", numDataTwo)
        }
        catch let error as ErrorUtil {
            print("ErrorUtil : ", error)
        }
        catch {
            print("Default Error : ", error)
        }
        
    }
    
    
    // [enum 사용해 에러 타입 정의 실시 : 선택 사항]
    enum ErrorUtil : Error {
        // 음수 값은 에러 정의
        case NegativeNumber(Num : Int)
    }
    
    
    // [에러 발생 예상 함수 정의 실시 : throws 키워드 필요]
    func testError(_num: Int) throws -> Int { // Int 값 리턴 실시
        
        // 인풋으로 들어온 파라미터 값이 음수인지 체크
        if _num < 0 { // 음수인 경우
            throw ErrorUtil.NegativeNumber(Num: _num) // 에러 발생 상황 알림
        }
        else { // 양수인 경우
            return _num // 인풋 값 리턴
        }
    }

[결과 출력]


[요약 설명]

/*

[요약 설명]

1. 스위프트에서는 throws , do catch 를 사용해서 에러 발생 처리를 실시할 수 있습니다

2. [에러 발생 처리 로직]

- 에러가 발생할 것 같은 함수에 throws 키워드를 사용해 선언 실시

- 에러 발생 예상 함수에서 로직 처리 중 이상 데이터 값이 들어오면 throw 에러 발생 상황을 알림

- 실제로 에러 발생 예상 함수를 사용하는 일반 함수쪽에서 do catch 선언 및 try 사용해 에러 발생 예상 함수 호출 실시

3. 참고 : 일반적인 문법 오류 등에서는 catch 상황을 확인할 수 없습니다

*/


 

반응형
Comments