您的位置:首页 > 编程语言 > Java开发

1 异常的概述和体系结构: jvm处理异常的方式和try。。。Catch处理异常:异常的抛出:如何处理多个异常:Throwable的常用的方法:异常的分类 自定义异常:

2017-10-26 21:02 756 查看
所谓的异常处理,其实不是解决问题的,而是让这个问题跳过去,也就是即使发生了问题,也不影响后面其他程序的运行。

 

1 异常的概述和体系结构:

我们在写代码的时候,经常的出现一些小问题,那么为了方便我们处理这些问题,java为我们提供了异常机制。

异常包含了错误的类型,原因,以及位置

Throwable(最顶层) :

Error:出现了不能处理的严重问题

Exception:可以处理的问题

异常:不正常,我们在代码的时候出现的编译或者运行时的错误。

2 jvm处理异常的方式和try。。。Catch处理异常:

Jvm处理异常的方式:如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因还有位置显示在命令行,并且还终止了程序,异常后面的代码就不再执行‘

异常的处理方式:1捕获处理。Try...catch语句   

Try{

有可能出现问题的代码;

}catch(异常对象类型 变量){

处理异常;

}catch的异常类型必须和可能出现问题代码出现的问题类型一样。

Try...catch  的执行顺序:如果发现异常,异常下面的代码不再执行,直接跳入catch语句中,catch语句结束后,真个try...catch结束。如果没有发现异常,tru语句执行结束后,try...catch直接结束,不再执行catch语句

3 异常的抛出:

抛出异常:当我们不想处理异常,或者没有能力处理异常的时候,我们可以选择抛出异常,谁调用方法谁处理异常,

使用关键字throws在方法的声明处抛出异常

在方法声明的最后 写上throws
和需要抛出的异常例如  throws IOException

访问修饰符  返回值类型
方法名() throws  异常类型{  }

4 如何处理多个异常:

可以使用多个try...catch语句

也可以使用一个catch(Exception  e)语句也可以,因为exception包括所有的可处理的异常

使用一个try...和多个catch

Catch 只会执行一个 执行完一个之后就直接结束了

多个catch之间的顺序:

多个catch之间会有子父类之间的关系。

平级之间没有顺序关系(catch的顺序可以随便放),有子父类关系的父类catch语句必须放在后面(因为父类异常更笼统,没有子类的异常具体)

5 Throwable的常用的方法:

String  getMessage():输出之后显示
异常的原因

String  toString():输出之后显示
异常的类型和原因

Void  printStackTrace(): 异常的类型
原因和位置

6 finally的概述和应用场景:

Finally:组合try...catch使用,用于释放资源等收尾工作,无论try...catch语句如何执行,finally的代码一定会执行

7 异常的分类:

运行时期异常:RuntimeException的子类就是运行时期的异常,在编译时期可以自由选择处理或者不处理

 

编译时期异常:是Exception的子类,非RuntimeException的子类在编译时期必须处理。(一种方式是抛出,一种是捕获try   catch)

8 自定义异常:

写一个异常类:

写一个类去继承Exception或者RunTimeException,然后实现多个构造(一个无参构造一个字符串参数构造)即可;

Throws:处理异常的一种方式,把异常抛出,有调用者来处理

Throw:制造异常的方式,并且结束方法

注意:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐