<强> Java异常简介
强>
Java异常是Java提供的一种识别及响应错误的一致性机制。
Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答这3个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪”抛出,异常信息回答了“为什么”会抛出。
Java异常机制用到的几个关键字:<强>试,,最后,扔,扔强>。
时间,try & # 8226;,,,,用于监听。将要被监听的代码(可能抛出异常的代码)放在尝试语句块之内,当尝试语句块内发生异常时,异常就被抛出。
时间,catch & # 8226;——用于捕获异常.catch用来捕获尝试语句块中发生的异常。
& # 8226;,finally ,,最后语句块总是会被执行。它主要用于回收在试块里打开的物力资源(如数据库连接,网络连接和磁盘文件)。只有最后块,执行完成之后,才会回来执行尝试或者catch块中的回报或者把语句,如果最后中使用了返回或者扔等终止方法的语句,则就不会跳回执行,直接停止。
时间,throw & # 8226;——用于抛出异常。
& # 8226;,throws ——用在方法签名中,用于声明该方法可能抛出的异常只
下面通过几个示例对这几个关键字进行简单了解。
<强>示例一:>强了解try和catch基本用法
公开课Demo1 { 公共静态void main (String [] args) { 尝试{ int i=10/0; System.out.println(“我=" + i); }捕捉(ArithmeticException e) { system . out。println(“捕获异常”); System.out.println (“e.getMessage (): " + e.getMessage ()); System.out.println (“e.toString (): " + e.toString ()); System.out.println (“e.printStackTrace ():”); e.printStackTrace (); } } } >之前运行结果:
结果说明:在尝试语句块中有除数为0的操作,该操作会抛出. lang。ArithmeticException异常。通过,对该异常进行捕获。
观察结果我们发现,并没有执行System.out.println(“我=" + i)。这说明尝试语句块发生异常之后,试着语句块中的剩余内容就不会再被执行了只
<强>示例二:>强了最终解的基本用法
在“示例一”的基础上,我们添加最后语句。公开课以及接下来{ 公共静态void main (String [] args) { 尝试{ int i=10/0; System.out.println(“我=" + i); }捕捉(ArithmeticException e) { system . out。println(“捕获异常”); System.out.println (“e.getMessage (): " + e.getMessage ()); System.out.println (“e.toString (): " + e.toString ()); System.out.println (“e.printStackTrace ():”); e.printStackTrace (); 最后}{ system . out。println(“最后”); } } } >之前运行结果:
结果说明:最终执行了最后语句块只
<强>示例三:>强了解和扔扔的基本用法
会是用于声明抛出的异常,而把是用于抛出异常。类MyException扩展异常{ 公共MyException () {} 公共MyException(字符串味精){ 超级(味精); } } 公开课Demo3 { 公共静态void main (String [] args) { 尝试{ 测试(); }捕捉(MyException e) { system . out。println(“抓住我的例外”); e.printStackTrace (); } } 公共静态空白测试()抛出MyException { 尝试{ int i=10/0; System.out.println(“我=" + i); }捕捉(ArithmeticException e) { 把新MyException(“这是MyException”); } } } >之前运行结果:
结果说明:
MyException是继承于异常的子类test()的尝试语句块中产生ArithmeticException异常(除数为0),并在发现中捕获该异常,接着抛出MyException异常.main()方法对测试()中抛出的MyException进行捕获处理只
<强> Java异常框架
强>Java异常架构图
Java异常简介和架构_动力节点Java学院整理