try {
if(error)
throw new Exception("Message");
doSomething();
}catch(Exception e) {
catchError();
}这个就是抛出异常,一旦执行了这个语句,则后面的代码doSomething()会停止执行
并马上跳到catchError那里(如果error=false,catchError是不会被执行的)
这个异常可以被这个方法本身把捕获(就是catch),也可以在方法的声明中加入throws表明该方法没有捕获该异常,需要调用这个方法的父方法catch
if(error)
throw new Exception("Message");
doSomething();
}catch(Exception e) {
catchError();
}这个就是抛出异常,一旦执行了这个语句,则后面的代码doSomething()会停止执行
并马上跳到catchError那里(如果error=false,catchError是不会被执行的)
这个异常可以被这个方法本身把捕获(就是catch),也可以在方法的声明中加入throws表明该方法没有捕获该异常,需要调用这个方法的父方法catch
一楼举的例子其实是有问题的。
public class TestException{
public static void method1() throws Exception {
if (condition1){
//do something;
}
else{
throw new Exception("Condition1 不满足");
}}
public static void main(String[] args){
try{
method1()
}
catch(Exception e){
//Exception handling
}
finally{
//release resource .etc.
}}
}
所以说,异常是事件执行的一个分支,当在某种条件下,无法执行主事件流时,就需要抛出异常,让调用者明白,主事件流因为某种原因无法继续,需要进行某些善后处理。以上只是针对CheckedException,对于unCheckedException,则需要做另一番讨论了.
其实也有默认的抛出异常类
异常是对象
呵呵 java里什么都是对象,这是一种观念