java 异常五

来源:互联网 发布:网络春晚和春晚 编辑:程序博客网 时间:2024/06/06 02:20
/*
对检测时异常进行处理的方式:
1,不仅在函数上进行声明,而且还在函数内部进行catch,对异常进行处理解决;
2,仅在函数上进行声明,不在函数内部进行处理,此时便把异常抛给了虚拟机,在运行时还是会出现异常。
3,如果异常在函数内部解决了,就不用再函数上进行声明了。

*/

/*
异常在子父类覆盖中的体现:
1,子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。
2,如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。
3,如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常。
如果子类方法发生了异常,就必须要进行try处理,绝对不能抛。
*/
/*
本程序中的异常:
Exception
    |--FuShuException
        |--SubFuShuException
    |--OtherException

*/
class FuShuException extends Exception{FuShuException(String msg){super(msg);}}class SubFuShuException extends FuShuException{SubFuShuException(String msg){super(msg);}}class OtherException extends Exception{OtherException(String msg){super(msg);}}class FuDemo{public int div(int a) throws SubFuShuException{if(a<0)throw new SubFuShuException("出现了负数的情况。");return a;}}class Demo extends FuDemo{public int div(int a,int b) throws SubFuShuException{if(b<=0)throw new SubFuShuException("出现了非正数");return a/b;}}class ExceptionDemo5{public static void main(String args[]) throws FuShuException{Demo d=new Demo();try{int x=d.div(4,-1);System.out.println(x);}catch (FuShuException e){System.out.println(e.toString());}finally{System.out.println("over");}}}

0 0
原创粉丝点击