throws用来声明异常(类), throw用来抛出一个异常(对象), 两者功能各不相同, 效果也不可能一样. 前者出现在方法声明中, 后者出现在方法体中.
throws声明和throw语句的关系:
用throws声明了抛出异常的方法, 不一定要抛出实际的异常, 如
void Method() throws Exception {
throw new Exception(); //此句可以出现也可以不出现
}
而反过来, 如果方法体中有明确的throw语句, 而又没有包裹在try{}块中, 那么一定要在方法上声明出来, 如
void Method() {
throw new Exception();
}
这句是不能编译的, 必须在方法声明后面加上throws Exception.throws用在方法后面,表示这个方法有可能抛出一个Exception
不加try catch 表示你不处理,不处理你就得往上抛,抛的最终就是抛给java虚拟机。
|