class FuShuException extends Exception{
// 异常的描述信息
// 在根类 Throwable 中,有一个私有的属性 detailMessage,存储异常的描述信 息。
// 在自定义异常描述信息的时候,只需要添加一个有参的构造方法即可完成
public FuShuException(){
}
public FuShuException(String message){
//这行代码必须写
// 调用父类中的构造方法,
// 在父类中,再调用它的父类中的构造方法,一层层向上调用,最终可以调用到 Throwable类中的有参构造
// 实现对 detailMessage 属性的赋值。
super(message);
}
}
public class Demo2 {
public static void main(String[] args) //throws FuShuException
{
Math math = new Math();
try {
math.div(2,-3);
}catch (FuShuException e){
//异常的解决方案
e.printStackTrace();
}
}
}
class Math{
//异常的声明(我们要给可能发生异常的方法进行异常的声明)----throws 作用: 告诉别人我有可能发生异常
public int div(int a,int b)throws FuShuException {
if (b < 0){
//创建异常对象并抛出
throw new FuShuException("除数为负数了");
}
return a/b;
}
}