java异常

java异常的结构

超类:java.lang.throwable

子类:error,exception

exception:RuntimeException,非运行时异常(exception)

error:程序无法处理的异常,内存溢出,线程死掉

-------------------------

运行时和非运行时:

-----------------

运行时:

常见

空指针,数组越界

这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,
    程序应该从逻辑角度尽可能避免这类异常的发生。

ArrayStoreException         试图将错误类型的对象存储到一个对象数组时抛出的异常

ClassCastException          试图将对象强制转换为不是实例的子类时,抛出该异常

IllegalArgumentException    抛出的异常表明向方法传递了一个不合法或不正确的参数

IndexOutOfBoundsException   指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出

NoSuchElementException      表明枚举中没有更多的元素

NullPointerException        当应用程序试图在需要对象的地方使用 null 时,抛出该异常

 
 
 

非运行时:

必须进行处理的异常

IO,SQL,文件找不到,自定义异常

------------------------

五个关键字:

try(试图,尝试)

其中的代码是可能有异常,

catch(接住,捕获)

上面的代码可能出现的异常时什么呢,捕获出来,给大家看,(通过的是控制台,日志,等记录出来,到底是哪里出现的问题)

finally(最后)

好简单啊,就是,没有异常的话也得执行,有异常的话也得执行

throw(抛出,扔)

方法的内部不捕获

是在

这个

throws(抛出)

上抛出去,在方法的括号(参数列表的)后面

---------------------------------

关于异常的变量的作用域:

每一个块中变量的访问的权限是在自己当前的块,要共享的话就在整个结构的外面声明

-------------------------------------

  

wait。。。

开源学习,互动进步
原文地址:https://www.cnblogs.com/L0VEGP/p/5077631.html