------- android培训、java培训、期待与您交流! ----------
一.异常
概念:JAVA运行过程中出现的错误
分类:Error,exception(要处理一下,不然编译器不通过),runtimeException(不用处理,编译器不会报错,出现后程序结束)
1.代码try{被检测代码}catch(异常的种类){处理方式}finally{一定会执行的代码},finally只有一种情况下不执行,system.exit(0);
2.也可以在函数后面使用throws抛出,thorw定义在函数内,抛出异常的对象,将异常提供出去给别人
4.里面throw了,外面必须throws
5.Throwable是这两个子类的父类
继承关系是-------Throwable
------------Error
------------Exception
6.如果函数内抛出RuntimException,那么函数上不用声明了
7.异常除了处理还可以抛出去
catch可以抓一个新的异常,也可以接住try出来的
try
{
throw new AException();
//抛出了一个对象继承RunTimeException
class NoValueException extends RunTimeException
{
NoValueException(String msg)
{
super(msg);
}
}
interface Shape
{
void getArea();
}
class Rec implements Shape
{
private int len,wid;
Res(int len,int wid) //throws NoValueException,不用声明了
{
if(len<=0 ||wid<=0 )
throw new NoValueException("出现非法值");
this.len=len;
this,wid=wid;
}
pulibc void getArea()
{
sop(len*wid);
}
}
class ExceptionTest
{
public static void main(String[] args)
{
Rec r= new Rec(,);
r.getArea();
}
}
}
catch (AException e)
{
//对AException先处理
throw new BException();
}
注意事项:1.子类再覆盖父类时,如果父类的抛出异常,那么子类覆盖父类方法时,只能抛出父类的异常或者该异常的子类
2
加入父类抛A,那么子类只能抛-A
----B
3.父类抛A,B,那么子类只能抛子集(包括A,B总共)
4.如果父类没有异常,那么子类就不能够抛出异常,即使有也只能try{}catch(){}处理,不能在try中抛了。