A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class yichang_13_1 extends Exception//自定义异常
  2. {
  3.         yichang_13_1()
  4.         {
  5.                 super();
  6.         }
  7.         yichang_13_1(String message)//带参数构造函数
  8.         {
  9.                 super(message);//调用父类构造函数
  10.         }
  11. }
  12. class Demo_13_1
  13. {
  14.         void show(int num) throws yichang_13_1//床将一个异常函数
  15.         {
  16.                 System.out.println("show run");//检测函数开始
  17.                 if(num<0)
  18.                         throw new yichang_13_1(num+"数值非法");//抛出一个自定义异常
  19.                 System.out.println("show close");//检测函数结束
  20.         }
  21. }


  22. class yichangDemo_13_1//掩饰类

  23. {
  24.         public static void main(String[] args)
  25.         {
  26.                 System.out.println("main run");//检测主函数开始
  27.                 Demo_13_1 d = new Demo_13_1();//创建对象
  28.                 try//异常检测代码块
  29.                 {
  30.                         System.out.println("try run");//检测try开始
  31.                         d.show(-2);//对象调用异常方法
  32.                         System.out.println("try close");//检测try结束
  33.                 }
  34.                 catch (yichang_13_1 e)//异常处理代码块
  35.                 {
  36.                         System.out.println("try run");//检测catch开始
  37.                         System.out.println(e.toString());//打印异常信息
  38.                         return;//放入return语句结束主函数
  39.                         //System.out.println("catch close");//ruturn 后面不能写语句
  40.                 }
  41.                 finally
  42.                 {
  43.                         System.out.println("finally run");//检测finally运行语句

  44.                 }
  45.                 System.out.println("main close");//检测主函数是否被结束
  46.         }
  47. }
复制代码
d.show(-2);//对象调用异常方法,通过改变实参可以控制是否要发生异常,可以看代码执行的区别,最重要的是还能看发生异常后finally语句是在return语句之前执行的

3 个回复

倒序浏览
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马