java-SE-9

来源:互联网 发布:android 仿照淘宝排序 编辑:程序博客网 时间:2024/06/06 07:50

异常处理

通常有以下异常

用户输入错误,设备错误,物理限制(磁盘已满等),代码错误;

异常处理所封装的对象会返回错误信息,而且退出当前执行的方法;所有异常都是派生于Throwable类的一个实例,也就是继承于这个类;

然后此父类之下分两类错误,Error和Exception,Error类层次结构描述了java运行时系统的内部错误和资源耗尽等,很少出现,不会告知用户;

另一种Exception又有两个分支RuntimeException和IOException;

RuntimeException主要包含以下几种异常情况:

错误的类型转换;

数组访问越界;

访问空指针;

不是派生与RuntimeException的异常包括:

试图在文件尾部后读取数据;

试图打开一个不存在的文件;

试图根据给定的字符串查找Class对象,而这个字符串表示的类并不存在;

要记得在可能发生异常的地方提前定义;

因为这些异常都是类,所以可以定义自己的类,只要继承于你想定义类型的异常类就行;

throws通常在类的头,表明可能会抛出哪种异常,例如:

public class x throws Exception  {     }

throw则是真的抛出异常,通常是

Exception e=new Exception();

throw e;

或者直接在抛出条件之后throw new XXException;

将可能抛出异常的地方写入try里面;然后catch你指定的类型异常;还有finally,定义无论是否抛出异常,finally里的语句都会执行;具体例子如下;

try{    //可能发生抛出异常的语句}catch(Exception e){    //抛出异常后要执行的语句}finall{    //无论是否抛出异常都执行的语句}

原创粉丝点击