Java异常处理

Posted little moon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java异常处理相关的知识,希望对你有一定的参考价值。

Java 异常处理

抛出异常:异常的产生和提交;

捕获异常:接受异常后寻找相应的处理代码,把异常对象交给它处理;

四种方式:

  1. 不处理,也不是不处理,而是默认有运行环境去处理;
  2. 使用try catch finally语句块
try{
        程序执行体
}catch(异常类型1     异常对象1  ){
        异常处理程序体1
}catch(异常类型2   异常对象2){
        异常处理程序体2
}finally {
     无论是否有异常都必须执行的程序体  
} 

finally唯一不被执行的情况是,前面的catch处理语句使用System.exit(0)

Java7之后允许捕获多个异常,使用|分隔,只要这些异常的处理代码相同即可;

  1. 使用throw交给上层处理。使用catch接收后,不处理,而是throw(e),抛出给上层进行处理;
  2. 通过throws语句处理,在函数声明后面,花括号之前写,表面下面的代码可能会抛出哪些异常

throws语句指明方法中可能要产生的异常类型,但本方法不想处理,交给调用该方法的上级方法进行异常处理。


创建自己的异常类

思路就是,从类库的异常类中继承某个异常类,从而编写自己的异常类,然后在可能发生这种异常的代码块,比如函数中,要判断在一定条件下抛出一个异常对象,然后在执行这个函数时,将它放到try语句块中,使用catch来试图捕获这种异常。

以上是关于Java异常处理的主要内容,如果未能解决你的问题,请参考以下文章

使用片段中的处理程序时出现非法状态异常

异常和TCP通讯

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段

java异常 throw和try-catch的关系

PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段