이 오류에 대해 알고 있습니다. 하지만 어떻게 호출 스택 아래 로이 작품을 이해하지 않는 것 같아요.Java 예외 : exception 해당 try 문의 본문에서 예외가 발생하지 않습니다.
파일 Main.java :
public static void main(String[] args) {
try {
Function1();
} catch (myException e) {
System.out.println(e.getMessage());
}
}
public static void Function1() {
Function2();
}
기능 2는 다른 파일에 존재 : 나는 기능 2가 (호출 스택 아래)
File2.java 여러 호출을 통해 그래서
public void Function2() throws myException {
....
}
하는 요구 사항 "throws myException"을 지정합니다. 어떻게 main 함수 (에러가 보내지는 곳)가 myException을 던져 버리는 것을 인식하지 못하는가?
내 "예외 지식"의 '구멍'이 어디에 있는지에 대한 안내는 크게 감사하겠습니다.
aitee,
만약 myException이 런타임 예외입니까? 만약 당신이 Function2 던져 myException 던지, Function1도 던져해야합니다. – hvgotcodes
Main과 File2 클래스 사이의 관계는 무엇입니까? (어느 쪽이 하나를 상속합니까?) –
이것은 여러분의 질문과는 직접적으로 관련이 없지만 명명 규칙을 따르는 것이 좋습니다 :'Function1'과'Function2'와 같은 메소드는 소문자로 시작해야하며 클래스는 'myException'은 대문자로 시작해야합니다. 협약을 통해 귀하와 다른 프로그래머는 서로의 코드를 더 잘 이해할 수 있습니다. –