/**
*
* @author TEA 方法没有使用try..catch处理异常,则会影响调用程序执行的下一步
*/
public class TestException {
public static void main(String[] args) {
try {
new BeforeProcess().process();
new MainProcess().process();
new AfterProcess().process();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
*
* @author TEA 抛出异常(自己没有处理异常),会影响到调用程序下一步的执行
*/
class BeforeProcess {
public void process() throws MyException {
System.out.println("Before:BeforeProcess_Statement");
throw new MyException("Before:BeforeProcess_Occure_Exception.");
// System.out.println("Before:BeforeProcess_Unreachable.");
}
}
/**
*
* @author TEA 自己处理了异常,不会影响调用程序的下一步执行
*/
class MainProcess {
public void process() {
System.out.println("__MainProcess_statement.");
try {
throw new MyException("__MainProcess_Exception");
} catch (MyException e) {
e.printStackTrace();
}
System.out.println("__MainProcess_ReachableCode!");
}
}
class AfterProcess {
public void process() {
System.out.println("After:Execute_AfterProcess.");
}
}
class MyException extends Exception {
public MyException() {
super();
}
public MyException(String message) {
super(message);
}
}