/*
*自定义异常时,如果一场发生无法继续运算,且是由于使用的问题,就继承RuntimeException.
* Runtime异常不需要throws;一旦触发程序必须停止;
* 有throws的可以被处理,出现了程序可以继续运行;
*
* 继承自此分为两大块Exception和RuntimeException。
*
*
*
* 编译时被检测的异常:必须throws出去,否则有安全隐患;调用者必须throws或try-catch;妹有运行就可以处理的部分
* 就用Exception+throws@@@有潜在风险@@@
* 编译时不被检测的异常:RuntimeException及其子类;判定if(e instanceof RuntimeException)
* 有调用,运行问题的,用RE+throw。@@@代码本身的问题@@@
* */
class cul{
public int cc(int a,int b)//RuntimeException子类的在函数内throw,不加throws也能编译通过
//如果声明了throws,不try catch也能编译通过;
//因为运行中出现的错误就说明是使用问题而不是该类设计问题
//只能通过停止程序后修正代码再继续使用
{
if(b==0)
throw new ArithmeticException("被拎出了");
return a/b;
}
}
public class Demon {
public static void pri(){
System.out.println("=w=");
}
public static void main(String[] args){
//try{
new cul().cc(4, 0);
//}
pri();
}
}
java异常处理
最新推荐文章于 2024-11-06 08:54:26 发布