先说一下异常的体系:
对于问题的划分:两种,一种是严重的问题,一种是非严重的问题
对于严重的,java通过Error类进行描述
对于Error一般不编写针对性的代码对其进行处理
对于非严重的,java通过Exception类进行描述。
对于Exception可以通过使用针对性的处理方式进行处理。
对于异常要么抛,要么就try {} catch(){}。
对于你说的throw throws try catch finally一般用在什么时候,什么地方的问题,
throws一般用在对方法的声明,使用在函数上。知道该方法可能存在问题,例如除数可能为0,或者是你认为符合事实的情况,例如人的年龄不可能无限大等情况,你都可以自定义异常,然后再该方法处声明。
对于throw使用在函数内部,后边跟的是异常对象。例如我在一个方法发现问题了,决定抛出一个异常。
int div(int a,int b)throws FuShuException
{
if(b<0)
throw new FuShuException("出现了除数是负数的情况",b);
return a/b;
}
但是当如果当一个方法没有声明异常时,如果方法内部出现异常,这时只能try catch处理。
一个try可以对应多个catch
对于finally{}这里面存放的代码一般是必须要执行的,需要说明的是try finally并没有处理异常。因为没有catch就不算处理。
|