黑马程序员技术交流社区
标题:
异常代码块分享学习,执行过程一清二楚
[打印本页]
作者:
廿乙木
时间:
2014-8-22 10:51
标题:
异常代码块分享学习,执行过程一清二楚
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语句之前执行的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2