빠른 질문, 예외 잡기 작동 방식에 대해 머리를 감싸는 데 약간의 어려움이 있습니다. 난 당신이Java 사용자 정의 예외 기준
int i = 0;
if (i == 0) {
throw new Exception("i cannot be 0");
}
즉 if 문에서 중첩 예외를 할 수 그러나 여기서 예외에 대한 기준이 충족되는 try/catch 블록에서 이해가 안 이해합니다. 즉, 예외가 발생한다 보여줍니다 위의 코드에는 기준이 없다, 그래서 지금까지 내가 보는 바와 같이
public class NegativeValueException extends Exception{
public NegativeValueException() {
super("Numberic values must be nonnegative.");
}
}
: 내 수업에서 우리는 코드의 모양을 설명,이 경우, 우리 자신의 예외를 만들어야합니다. 값이 음수이므로
int i = 1;
try {
i = -1;
} catch (NegativeValueException e) { //Thrown exception because the value is negative.
//Where is the criteria that catches this exception?
}
'catch'_는 기준입니다. 'NegativeValueException'이 _thrown_이면 잡히게됩니다. –
그러나 catch는 어디에 정의되어 있습니까? 코드의 어느 시점에서 실행되고 "예외를 잡아라.이 코드는 NegativeValueException입니다."라고 말합니다. – acupajoe