- 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语句之前执行的
|
|