IOException이 확인 된 예외이며 catch 블록 내의 다른 try 블록에 의해 catch되지 않으므로 catch 블록의 throw 문으로 인해 다음 프로그램에서 컴파일 오류가 예상됩니다. . 하지만 나는 "만세!"하고있다. 인쇄. 어떤 설명이라도 대단히 감사하겠습니다.catch 절의 컴파일 오류에서 Java 확정 예외
을 : 방법 또는 생성자 몸이 모두 보류 다음과 같은 경우 일부 예외 타입 E를 던질 수 있다면 그것은 컴파일 타임 오류가 http://java.sun.com/docs/books/jls/third_edition/html/exceptions.htmlJLS 11.2.3에 따르면
,
* E is a checked exception type * E is not a subtype of some type declared in the throws clause of the
메서드 또는 생성자. 사전에
import java.io.*;
public class Test{
public static void main(String args[])
{
System.out.println(method());
}
public static int method()
{
try{
throw new Exception();
}
catch(Exception e){
throw new IOException(); //No compile time error
}
finally{
System.out.println("Hurray!");
}
}
}
감사합니다.
이상한! 나는 일식 갈릴레오도 사용하고있다. 컴파일 오류가 없습니다. – srandpersonia
jdk 6 업데이트 14를 사용하고 있습니다. – srandpersonia
Phew! 새 클래스 파일을 만들고 SO에서 붙여 넣기를 복사 한 후에 가져 왔습니다. IOException으로 변경하기 전에 Exception을 사용하고 자동 빌드가 수행되지 않았기 때문에 필자가 그랬어야한다고 가정합니다. 답장과 시간을 보내 주셔서 감사합니다. – srandpersonia