내 코드가 올바르게 컴파일되지 않는 이유를 알 수 없습니다. 코드가 catch 블록에 전달 될 때까지 코드를 통과 할 수 있습니다. 그것은 작동, 메시지를 표시, 그래서 그것은 오류 잡기 알아. 그러나, 그것은 동일한 장소에서 나는 그 같은 오류가 있다고 말하는 나의 프로그램을 끝낸다. 내가 뭘 잘못하고 있는지 알 수가 없어. 어떤 도움을 주셔서 감사합니다 !!Java 예외 처리
class Verification {
String detAccess(String[] pL, String[] uL, String pass, String user) {
int pos = 0;
String access = "";
try {
for (int i=0; !user.equals(uL[i]); i++)
pos++;
} catch (ArrayIndexOutOfBoundsException exec) {
System.out.println("Username doesn't exist.");
throw exec;
}
if(pass.equals(pL[pos])) {
access = "MEMBER";
} else {
System.out.println("Incorrect password.");
access = "DENIED";
}
return access;
}
}
을 당신은 같은 오류가 rethrowing하고 있습니다. 원래의 "캐치"블록 밖에서 누가 그것을 잡을 수 있습니까? – paulsm4