/*
异常类如果是RuntimeException(运行时异常)或其子类,那么在函数内使用throw抛出,不用在函数上声明抛出,也不用捕获
因为java认为当遇到RuntimeException或其子类异常时,程序就该中断,不该处理
在函数后面声明抛出的异常如果是RuntimeException或其子类,调用者不用处理,编译照样通过
运行时异常通常都是接收用户传过来的参数,是由于用户传了不合理的数据造成的异常,所以程序该停下来修改数据
异常的分类:
1:编译时检测的异常 非RuntimeException或其子类
2:编译时不检测的异常 RuntimeException或其子类
*/
// 自定义的异常
class FuShuException extends Exception
{
private int num;
public FuShuException()
{
super();
}
public FuShuException(String message)
{
super(message);
}
public FuShuException(String message,int num)
{
super(message);
this.num = num;
}
public int getNum()
{
return num;
}
}
class MyMath
{
public int div(int a,int b)throws ArithmeticException// 声明抛出异常,有调用者处理!
{
if(b==0)
throw new ArithmeticException("被除数为0了");// 抛出异常
return a/b;
}
}
class Demo9
{
public static void main(String[] args)
{
MyMath m = new MyMath();
int num = m.div(3,0);
System.out.println("num="+num);
System.out.println("over");
}
}
java 之 ----------------- 异常 处理,布布扣,bubuko.com
java 之 ----------------- 异常 处理
原文:http://blog.csdn.net/love_javc_you/article/details/38235699