class Demo
int div(int a, int b)
{
if (b==0)
{
throw new ArithmeticException("aa");
}
return a/b;
}
}
class ExceptionDemo4
{
public static void main(String[] args) //throws Exception
{
Demo d = new Demo();
try
{
int x = d.div(4,0);
System.out.println("x="+x);
}
catch (FuShuException e)
{
System.out.println(e.getMessage());
System.out.println("错误的负数是:"+e.getValue());
}
}
}
Exception 中有一个特殊的子类异常RuntimeException 运行时异常。
如果在函数内抛出该异常,那函数上可以不用声明,编译一样通过。
如果在函数上声明了该异常,调用者可以不用进行处理。编译一样通过。
之所以不用在函数声明,是因为不需要让调用者处理。
当该异常发生,希望程序停在。因为在运行时,出现了无法继续运算的情况,希望停止程序后,
对代码进行修正。
自定义异常时:如果该异常的发生,无法再继续运行运算,
就让自定义异常继承RuntimeException.
对于异常分两种:
1,编译时被检测的异常。
2,编译时不被检测的异常(运行时异常。RuntimeException以及其子类)。