if(某个条件){
//强制抛出可被检测的异常
throw new Exception("我抛出的异常");
}这样你的自定义异常就可以向外传播然后在调用那个方法的时候,必须捕捉,或者再次向外传播,
最终要处理的。
//强制抛出可被检测的异常
throw new Exception("我抛出的异常");
}这样你的自定义异常就可以向外传播然后在调用那个方法的时候,必须捕捉,或者再次向外传播,
最终要处理的。
调试欢乐多
try {
//do something
throw new Exception("test exception");
} catch (Exception e) {
throw e;
}
}或者
void testMethod() throws Exception {
try {
//do something
throw new SuperException("test exception"); //SuperException异常类
} catch (SubException e) { //SubException 是SuperException的子类
//handle sub exception
}
}
{
//do something
}
catch(Exception e)
{
try
{
//do something
}
catch(Exception e1)
{
try
{
//do something
}
catch(Exception e2)
{
try
{
//do something
}
catch(Exception e3)
{
......
//处理 exception e3
}
//处理 exception e2
}
//处理 exception e1
}
//处理 exception e
}
不过代码看起来可就会有点那个了.
建议看看《高质量java程序设计》(电子工业出版社)里面有详细的分析
不要总盯着异常处理
不是个好习惯"我们现在只是使用这种方式来处理错误,也不是不处理,只是说处理后还能返回"你可以先检查输入错误,然后做适当处理后作为参数传给你的函数
例如
if(a==null){
a = new xxxx();
}如果你想在函数抛出异常后再作处理,例如catch(Exception e){ a=new xxx() //goback here}这类的,我觉得这个是一个设计逻辑的问题。不要设计lazy class