- class yichang_13_1 extends Exception//自定义异常
 
 - {
 
 -         yichang_13_1()
 
 -         {
 
 -                 super();
 
 -         }
 
 -         yichang_13_1(String message)//带参数构造函数
 
 -         {
 
 -                 super(message);//调用父类构造函数
 
 -         }
 
 - }
 
 - class Demo_13_1
 
 - {
 
 -         void show(int num) throws yichang_13_1//床将一个异常函数
 
 -         {
 
 -                 System.out.println("show run");//检测函数开始
 
 -                 if(num<0)
 
 -                         throw new yichang_13_1(num+"数值非法");//抛出一个自定义异常
 
 -                 System.out.println("show close");//检测函数结束
 
 -         }
 
 - }
 
  
 
- class yichangDemo_13_1//掩饰类
 
  
- {
 
 -         public static void main(String[] args) 
 
 -         {
 
 -                 System.out.println("main run");//检测主函数开始
 
 -                 Demo_13_1 d = new Demo_13_1();//创建对象
 
 -                 try//异常检测代码块
 
 -                 {
 
 -                         System.out.println("try run");//检测try开始
 
 -                         d.show(-2);//对象调用异常方法
 
 -                         System.out.println("try close");//检测try结束
 
 -                 }
 
 -                 catch (yichang_13_1 e)//异常处理代码块
 
 -                 {
 
 -                         System.out.println("try run");//检测catch开始
 
 -                         System.out.println(e.toString());//打印异常信息
 
 -                         return;//放入return语句结束主函数
 
 -                         //System.out.println("catch close");//ruturn 后面不能写语句
 
 -                 }
 
 -                 finally 
 
 -                 {
 
 -                         System.out.println("finally run");//检测finally运行语句
 
  
-                 }
 
 -                 System.out.println("main close");//检测主函数是否被结束
 
 -         }
 
 - }
 
 
  复制代码 d.show(-2);//对象调用异常方法,通过改变实参可以控制是否要发生异常,可以看代码执行的区别,最重要的是还能看发生异常后finally语句是在return语句之前执行的 
 |   
        
 
    
    
    
     
 
 |