Java异常处理综合例子(try、catch、finally、throws、throw)
- package cn.edu.uibe.exp;
- class MyExp extends Exception{
- private static final long serialVersionUID = 1L;
- MyExp(){
- super("自定义异常");
- }
- }
- public class Exp2 {
- public void f1(int n) {
- System.out.println("f1前面");
- f2(n);
- System.out.println("f1后面");
- }
- public void f2(int n) {
- System.out.println("f2前面");
- try{
- System.out.println("try的前面");
- f3(n);
- System.out.println("try的后面"); //发生异常时不会输出
- }catch(MyExp e){
- System.err.println(e.getMessage());
- }finally{
- System.out.println("无论是否发生异常");
- }
- System.out.println("f2后面");
- }
- public void f3(int n) throws MyExp{
- System.out.println("f3前面");
- f4(n);
- System.out.println("f3后面"); //发生异常时不会输出
- }
- public void f4(int n) throws MyExp{
- System.out.println("f4前面");
- if(n<0){
- throw new MyExp();
- }
- System.out.println(n); //发生异常时不会输出
- System.out.println("f4后面"); //发生异常时不会输出
- }
- public static void main(String[] args) {
- Exp2 exp = new Exp2();
- exp.f1(-4);
- }
- }