class MyException extends Exception {
MyException() {}
MyException(String msg) { super(msg);}
}
public class NewException {
static void f() throws MyException {
System.out.println("throwing exception from f()");
throw new ClassCastException();
}
static void g() throws MyException {
System.out.println("throwing exception from g()");
throw new MyException("parametrized ");
}
public static void main(String ...strings) {
try {
f();
}
catch(MyException e) {
e.printStackTrace(System.out);
}
try {
g();
}
catch(MyException e) {
e.printStackTrace(System.out);
}
}
}
函數f()我指定「MyException」異常將被拋出,實際上我拋出了一些與MyException沒有關係但仍然不抱怨的異常。爲什麼?編譯器何時需要我捕獲異常?
什麼是運行時異常http://download.oracle.com/javase/1.4.2/docs/api/java/lang/RuntimeException.html – 2011-03-03 07:22:12
好主意,我添加了Javadoc的鏈接/摘錄。 – ide 2011-03-03 07:27:17