什么是java异常及如何处理异常,java有哪些异常处理方法

  什么是java异常及如何处理异常,java有哪些异常处理方法

  

  什么是java异常处理

  1、异常

  当一个程序运行时,会发生一个意外的事件,使程序不能像程序员所期望的那样正常执行。这是异常。当异常发生时,你是让程序自生自灭,立即退出并终止,还是向用户输出一个错误?还是用C语言风格:用函数的返回值作为执行状态?(推荐教程:java教程

  2、异常处理机制

  Java提供了一个更好的解决方案:异常处理机制

  异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。

  Java中的异常可能由函数中语句的执行引起,也可能由程序员通过throw语句手动抛出。Java程序中只要产生异常,就会用相应类型的异常对象封装,JRE会尝试寻找异常处理程序来处理异常。

  Throwable类是Java异常类型的顶级父类。只有当一个对象是Throwable类的(直接或间接)实例时,它才能被异常处理机制识别。JDK内置了一些常见的异常类,我们也可以自定义异常。

  3、异常的处理:

  异常处理可分为消极处理(如果自己处理不了,就在调用的地方抛出,但异常没有解决,只是抛出)和积极处理(异常捕捉,通过trying-catch语句或trying-catch-finally语句实现)。

  a)消极治疗:

  语法:

  Public void m1()抛出异常类名1,异常类名2{}特点:相当于推卸责任,最终问题还是解决不了。

  允许编译通过。

  当抛出的异常是非运行(已检查)异常时,调用此方法的调用方必须处理它。

  当抛出的异常是运行时(未检查)异常时,可以处理也可以不处理。

  b)主动处理:(异常捕捉)

  异常被直接捕获并处理。

  语法:

  尝试{

  //异常代码

  }catch(异常类名引用名){

  //异常发生时执行的代码

  }try后只有一个catch代码块可以匹配成功。

  当catch后声明的异常是父类时,它能捕捉的异常都是自己的子类异常(多态性的体现)

  注意:在catch代码块中捕获异常时,子类异常必须在父异常之前定义,否则会出现编译错误。

  Finally代码块:这个代码块中的代码会被执行,常用来关闭资源。

  尝试{

  }catch(){

  }最后{

  //无论是否生成异常都将执行的代码。

  }注意:不要在finally代码块中定义return语句。

  4、关键字:throws,throw,try,catch,finally 分别代表什么意义?

  Throws是一个获取异常。

  Throw是抛出异常。

  Try是将会导致异常的语句括起来,以便处理异常,或者可以在try块中抛出新的异常。

  Catch是如果有异常,它会执行其中的语句。

  最后,不管有无异常都要执行的语句。以上是什么是java异常处理的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: