为了更清晰的展示函数里可能会出现的异常, 可能会出现异常的函数必须在函数头加入异常说明, 且这点是强制要求的.
package com.cnsuning.src;
import com.cnsuning.animals.Animal;
import com.cnsuning.animals.Bird;
import com.cnsuning.animals.Duck;
import com.cnsuning.factory.BirdFactory;
import com.cnsuning.factory.DuckFactory;
import com.cnsuning.inter.AnimalFactory;
import com.cnsuning.inter.AnimalType;
import com.cnsuning.inter.CanFlyAndRun;
import com.cnsuning.inter.CanFlyAndRun.Demon;
import com.cnsuning.util.Circle;
public class Main {
public Main() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
Main m = new Main();
m.test();
}
public void test(){
System.out.println("test function run");
throw new Exception();
}
}
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Unhandled exception type Exception at com.cnsuning.src.Main.test(Main.java:27) at com.cnsuning.src.Main.main(Main.java:22)
此外, 还有一种非常规的手段, 就是在不会产生异常的函数使用异常说明, 这种可以说是作弊的方法有其实际意义, 就是异常占位, 可以先要求调用者实现此异常的处理, 在将来需要时再真正引入此异常且不会对调用者产生影响.
package com.cnsuning.src;
public class Main {
public Main() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
Main m = new Main();
try {
m.test();
} catch (Exception e) {
;
}
}
public void test() throws Exception {
System.out.println("test function run");
}
}