其他分享
首页 > 其他分享> > lzj 5.31 异常相关问题

lzj 5.31 异常相关问题

作者:互联网

1、先执行try中的代码块,再执行catch中的代码块,最后执行finally中的代码块,try中可以有多个catch,范围从小到大。

2、受检异常(checked):又叫编译期异常。  在写代码就必须手动进行捕获处理。

     非受检异常(unchecked):又叫运行期异常。指在写代码是不检查的异常,如零除,数组越界、空指针等。 由于是在运行时发生,所以又叫运行期异常。通常是编码出现了逻辑错误而导致的。

3、异常:ClassCastException->RuntimeException->Exception->Throwable->Serializable

      错误:StackOverflowError->VirtualMachineError->Error->Throwable->Serializable

4、运行期异常:空指针异常:NullPointerException 类型强制转换异常:ClassCastException  传递非法参数异常:IllegalArgumentException  下标越界异常:IndexOutOfBoundsException     数字格式异常: NumberFormatException

    非运行期异常:找不到指定的class的异常:ClassNotFoundException  IO操作异常 IOException

5、throw:是语句抛出一个异常   throws:是方法可能抛出异常的声明(用在声明方法时,表示该方法可能要抛出异常)

6、自定义异常:Java提供的异常类在某些情况下不能满足实际需求。好处:方便控制异常流程。

7、能够导致程序中断执行

8、1)在本方法內捕获

try {
           throw new IOException("文件读取出错了");
       } catch (IOException e) {
           e.printStackTrace();
       }

      2)在本方法内不捕获,抛出,交给外部调用方法

    throw new IOException("文件读取出错了");

      3)先捕获,再抛出一个新的异常

try {
            throw new IOException("文件读取出错了");
        } catch (IOException e) {
            throw new Exception("这是一个新的异常");
        }

 

标签:try,lzj,IOException,5.31,catch,new,异常,throw
来源: https://www.cnblogs.com/lc610-/p/16332320.html