黑马程序员--异常

来源:互联网 发布:多线程并发写数据库 编辑:程序博客网 时间:2024/06/05 12:05

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------




异常:
Java中一共提供了try、catch、finally、throw和throws  5个关键字来处理异常。


其中的try-catch-finally需要配套使用,它们的作用是捕获和处理异常,
使用try关键字和它后面的{}把有可能出现异常的代码包含起来。
如果try语句中发生异常,这个异常就会被抛出。
这时就可以用catch语句来捕获异常,并在这个语句中,对这个异常进行处理。
还有一些是不管是否发生异常,都需要执行的代码,就把它们放到finally语句中。








在Java的lang包里有一个Throwable类,它是所有异常的父类或者间接父类。
每个个异常类型都是Throwable类的子类,这其中有两个直接子类:Error和Exception.
Error类及其子类是用来处理系统内部及程序运行环境的异常,一般与硬件有关,由系统直接处理,不需要程序员在程序处理。




Exception类是程序能够捕获到的异常情况。它又可以分为两大类:运行时异常(为RuntimeException)和检查型异常(也称非运行时异常。)


运行时异常(RuntimeException)是设计或者是实现问题上出现的错误,大多数是由于程序设计不当而引发的,但这种错误
要在运行期间才会发生和被发现。






异常:就是程序在运行时出现不正常情况。
异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象。
其实就是java对不正常情况进行描述后的对象体现。


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


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


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


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






异常的处理


java 提供了特有的语句进行处理。
try
{
需要被检测的代码;
}
catch(异常类 变量)
{
处理异常的代码;(处理方式)
}
finally
{
一定会执行的语句;
}








对捕获到的异常对象进行常见方法操作。
String getMessage():获取异常信息。




在函数上声明异常。
便于提高安全性,让调用出进行处理。不处理编译失败。








自定义异常
因为项目中会出现特有的问题,而这些问题并未被Java所描述并封装对象
所以对于这些特有的问题可以按照Java的对问题封装的思想,将特有的问题进行了自定义的异常封装。


当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作。要么在内部try{}catch(){}处理
要么在函数上声明让调用者处理。


一般情况下,函数内出现异常,函数上需要声明。




如何自定义异常信息呢?
因为父类中已经把异常信息的操作都完成
所以子类只要在构造时,将异常信息递给父类,通过super语句,那么就可以直接通过getMessage方法获取
自定义的异常信息。




































0 0