함수에서 오류가 발생하면?

Hyokyeong Jo·2023년 10월 13일
0

함수를 호출하던 중 에러가 발생한다면... 어떻게 에러를 반환해 줄 수 있는지 알아보자!

C, Java, Swift의 함수에서의 오류처리

C

보통 C에서는 함수호출이 정상일 경우 리턴값이 0,
그 외의 반환값은 오류처리를 한다고 한다 (보통은 -1, NULL을 리턴한다고 한다.)
그렇다면... 각 어떠한 에러인지 명시한 에러코드를 리턴하지 않을까.. ?

int someFunction() {
    // 일반 동작
    if (/* 에러 조건 */) {
        return ERROR_CODE; // 에러를 나타내는 코드
    }
    // 다른 동작
    return 0; // 성공을 나타내는 코드
}

Java

에러 던지기!

public void someMethod() throws CustomException {
    // 일반 동작
    if (/* 에러 조건 */) {
        throw new CustomException("에러 메시지");
    }
    // 다른 동작
}

Swift

자바와 마찬가지로 커스텀한 에러 객체를 던질 수 있다.

enum CustomError: Error {
    case someError
}

func someFunction() throws {
    // 일반 동작
    if /* 에러 조건 */ {
        throw CustomError.someError
    }
    // 다른 동작
}
profile
Cogito, ergo sum

0개의 댓글