异常体系学习笔记(一)

来源:互联网 发布:知乎能用邮箱注册吗 编辑:程序博客网 时间:2024/04/29 04:43

异常: 就是程序在运行时出现的不正常情况

异常由来: 问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象。

   其实就是java对不正常情况进行描述后的对象的体现。


对于问题的划分: 两种:一种是严重的问题,一种是非严重的问题

对于严重的,java通过Error类进行描述,对于Error一般不编写针对性的代码对其进行处理

对于非严重的,java通过Exception类进行描述,对于Exception可以使用针对性的处理方式进行处理


无论Error还是Exception都具有一些共性内容。比如:不正常的信息,引发原因等。

Throwable

| --- > Error

| --- > Exception


异常的处理:

java提供了特有的语句进行处理

try

{

需要被检测的代码

}

catch(异常类 变量)

{

处理异常的代码

}

finally{

一定会执行的代码

}


throws和throw的区别:

位置上:

throws使用在函数上

thros使用在函数内

抛出东西:

throws抛出异常类,可以跟多个

throw抛出异常对象


RuntimeException:

如果在函数里抛出该类异常,函数上可以不用声明,编译可以通过。

如果在函数声明上抛出异常,调用者可以不用进行处理,编译一样通过。

之所以不需要在函数声明异常,是因为不需要让调用者处理,当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,让程序员对代码进行修正。

常见的RuntimeException:

ArithmeticException --- >  算术异常

ClassCastException --->   类型转化异常

IlleagalArumentException -- >非法参数异常

IndexOutException   --- >  数组越界异常

NUllpointerException  --- > 空指针异常

在Java中,try和catch可以连用,try-catch-finally可以连用,但是try,catch,finally却不能单独使用,如果在程序中只想使用try而不想使用catch也可以,但是try的后面必须有finally。


关于异常的两篇分享文章:

http://swiftlet.net/archives/998

http://swiftlet.net/archives/1009


0 0