0
작성하는 동안 객체의 다양한 구성을 수행하는 초기화 프로그램에서 오류를 올바르게 처리해야합니까?init에서 올바르게 오류 처리
불량 예외가 발생합니까? NSError를 반환하는 것은 어떻습니까?
작성하는 동안 객체의 다양한 구성을 수행하는 초기화 프로그램에서 오류를 올바르게 처리해야합니까?init에서 올바르게 오류 처리
불량 예외가 발생합니까? NSError를 반환하는 것은 어떻습니까?
귀하의 init
메소드가 id
또는 그보다 최근에 instancetype
유형을 반환하는 것을 확인하면 NSError *
을 반환 할 수 없습니다. 예외는 귀하의 상황에 맞는 길과 같습니다. 이 두 가지 선택이 있습니다.
선택 1 투척 예외. 이 경우 잘못 된 것이 있으면 예외를 throw하십시오.
- (id)init {
...
...
if (shouldThrowException)
NSException *myException = [NSException new]
... populate this exception with details ...
@throw(myException)
}
선택이 잡기 예외. 이 경우, 무엇이 잘못되는지 상관하지 않는다면 발생한 모든 예외를 무시할 수 있습니다.
- (id)init {
...
...
@try {
// some dangerous thing
} @catch (NSException *e) {}
}