Java异常简介和架构_动力节点Java学院整理

  

<强> 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异常架构图

  

癑ava异常简介和架构_动力节点Java学院整理"

Java异常简介和架构_动力节点Java学院整理