Java教程

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("这是一个新的异常");
        }

 

这篇关于lzj 5.31 异常相关问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!