【黑马程序员】java中的异常处理机制

来源:互联网 发布:pyenv 切换python版本 编辑:程序博客网 时间:2024/05/22 04:49

                                ------- android培训、java培训、期待与您交流! ------……

 异常就是程序的错误,程序中随时会发生异常,所以一定要对异常进行处理这样才能保证程序的安全性。

throwable类是所有异常的父类,他有两个子类,error和exception。

error是本身无法恢复的严重错误,应用程序不应抛出一般由虚拟机抛出。

exception类应用程序抛出和处理的非严重错误。有两个子类,。

运行时异常runtimeexception类和其子类。 不用try进行处理仍旧可以编译和运行,如果出现异常将输出异常堆栈信息并终止程序。

非运行时异常:程序必须进行捕获或抛出处理,否者不能编译通过。

处理异常通常可以用try{

}catch(){

}finally{

 }块进行捕获。  需要注意的是try{}是必须的,而 catch 和finally 两者为可选,但至少出现一个。

特别注意的是即使在try块或catch 有return,最后finally也会执行。finally 不执行的唯一情况为:在异常处理代码中有system。exit(1)将退出虚拟机。

抛出异常较多时可以用多重catch{}   另外一定按照从小到大的顺序来进行捕获, 子异常在上之后是父类异常。

当方法中抛出异常我们可以使用throws 来抛出异常提醒程序进行捕获。 throws 可以抛出多个异常,之间用,号隔开。 如果没有try 来捕获异常将会抛给上一级来处理。

方法内部也可以使用throw抛出异常对象。

throws和throw的区别:

作用不同:throw用于程序员自行产生并抛出异常,throws用于声明方法内抛出异常。

位置不同:throw 用于方法内部,throws用于方法参数列表后,不能单独使用。

内容不同:throw用于抛出异常对象,且只能是一个,throws用于抛出异常类,可以多个。

原创粉丝点击