Java 异常

来源:互联网 发布:大学数据分析培训课程 编辑:程序博客网 时间:2024/06/05 12:40

一.java  throwable有两种情况造成:

1.Error:是由于JVM(VirtualMachineError)或线程死亡(threadDeath)导致的,是不可治愈的。

2.Exception(异常):是由于RuntimeException或者编译时异常导致的,是可治愈的。

RuntimeException又是因为自己的代码有问题,可动手自己解决。这个错误在抛出异常后可不声明,因为基本可以通过程序员良好的编译习惯避免的。

编译时异常的解决方法有:&1捕获异常,&2.抛出异常。

什么时候用捕获什么时候又用抛出呢 ?如果需要通知方法的调用者有了异常,需要 抛出;而如果用户直接与代码打交道,必须用捕获,不能让用户看到异常。

二.捕获异常

try{

异常的代码(try块遇到异常代码后面的代码不会执行,)

}catch{

异常的类 变量名(习惯定位为e);

}

当遇到异常时候,

注意:&1.try块后可跟多个catch,也就是这个代码有多个异常 。

&2.catch之后走的异常情况必须是从小到大的类型。

&3还可用的类型为try{

}catch{

}finally{

这里面是不管异常不异常都必须执行的代码。finally代码是只有JVM退出时才不会执行的。

}

&4.有三种类型分别为:

try-catch  只能处理异常

try-catch-finally 既能处理异常,又能释放资源

try-finally  释放资源

三.抛出异常

1.throw new 异常类("  ");

然后再该方法上用throws  异常类 来声明。

throw与throws的区别:&1.throw只是在一个方法的内部抛出,而throws是在这个方法上声明抛出的异常;&2.throws可以一次声明多个异常,但是throw一次只能声明一个异常

2.细节

&1.遇到异常抛出后,如果不去捕获,就要在这个方法上去声明异常。

&2.一个方法碰到throw,立刻会停止运行。

四.基本的异常

&1.toString()  打印异常类的包名和异常类名

&2.getMessage() 返回创建throwable对象时的传入的消息字符串

&3.printStackTrace()打印异常栈的信息

过程:当程序遇到异常的时候,会创建一个异常类对象,程序终止,并使用printStrackTrace()打印出异常的信息

五.自定义异常

class 异常类 extends Exception{

//初始化

public 异常类(String name){

super(name);

}

}


原创粉丝点击