有关异常的知识
•发布于   •作者 Choices()  •345 次浏览  •来自 资讯

一.异常的内容:

1.什么是异常?

       异常就是我们生活中常说的不正常,出现了问题;在java程序中,代码可能在编译时没有错误,可是运行时会出现的错误;

2.什么时候发生异常?

例如:在数学题中出现除数为0的时候:

public class Test {
	public static void main(String[] args) {
		A a= new A();
		int x = a.fun(4, 0);
		System.out.println("x="+ x);
	}
}
class A{
	public int fun(int a, int b){
		return a/b;
	}
}

java虚拟机会报出一个异常


3.那异常是怎么由来的呢?

异常:在我们生活中的问题一样;问题也是我们日常生活的一个具体事物,我们可以通过java的形式来描述,并封装成对象 , 其实就是java对不正常情况进行描述后的对象体现

4.对异常(问题)的划分

可以分为两种:一种是严重的问题;一种是非严重的问题;

(1)严重的问题:在java中,对于严重的用:error类进行描述;对于非严重的使用Exception来描述;

(2)怎么区分呢?

    例如疾病:小感冒和癌症,一个是可治愈的,一个是不可以治愈,对于java而言也是如此,严重的问题,不可以处     理,对于Exception可以使用针对性的处理方式进行处理

(3)不论是error还是Exception他们之间都是有共性的:这样就构成了一个体系:(看父类定义,建立子类对象)

         Th’rowable-----父类

                 -----error

                 ------Exception

二.异常的处理

1.我们基本上只处理非严重的异常:.对error的处理:我们基本不怎么处理,java虚拟机会自动帮你,例如没救的癌症和可就的感冒一样,感冒是可以治好的,癌症就不能治好,java程序上也是一样,我们只针对非严重的异常进行处理;

2.如何去处理:

格式:

Try {

      需要检测的代码;

}catch(Exception e){

      处理方式

}finally{

       一定会处理语句

}

我们现在一般不用finally;

对于哪个出现了问题的代码,进行处理:例如:



这个过程是:在try中检测到了异常之后,就会将异常给catch(捕获),这个异常已经接受到了,之后需要进行处理,Exception是这些可处理的异常的父类,传进来一个可处理异常,之后进行处理(这里面其实是父类的引用指向子类的对象)

如果我们想知道是什么样的异常?我们可以在catch中调用异常的e.printStackTrace();这个方法可以打印出是什么问题,出现在第几行


3.throws 关键字和throw关键字

其实throws只是一个声明的作用:他的出现只是 为了声明这段代码有可能出项异常,一旦出现了throws的时候,这个异常就必须进行处理和抛出。对异常的处理方式有很多种,具体问题具体分析;

四.对多异常的处理

这样我们就需要对异常的具体,有不同的异常可以使用异常的不同的

例如

这两个异常:AclNotFoundException, ActivationException

如果在程序中出现了这两个异常的话,我们就可以这样使用:

Try{


}catch(AclNotFoundException e){



}catch(ActivationException e){

 
}

注意在这个里面,随的异常处理在前面,就先处理谁的异常,这两个异常不能同时发生,所以,函数当中,只要有异常发生,只要没有处理过,就结束了


1 回复
fly唐朝的天空(唐秋果)

预习的很充分,加油

回到顶部

©2017 Powered by 三十三行伪代码
皖ICP备17005175号-3