简单的说
throw用在try后面
throws用在一个方法后面
比如
public static void Method()throws Exception{}
而且throws用来声明异常, throw用来抛出一个异常, 两者功能各不相同, 效果也不可能一样. 前者出现在方法声明中, 后者出现在方法体中.
throws声明和throw语句的关系是:
用throws声明了抛出异常的方法, 不一定要抛出实际的异常, 如
void aMethod() throws Exception {
throws new Exception(); //此句可以出现也可以不出现
}
而反过来, 如果方法体中有明确的throw语句, 而又没有包裹在try{}块中, 那么一定要在方法上声明出来, 如
void aMethod() {
throws new Exception(); //此句可以出现也可以不出现
}
这句是不能编译的, 必须在方法声明后面加上throws Exception.
|