try catch finaly throws throw
throws是用来声明的, 加在方法声明的后面, 后面跟一个异常类的名字, 表示一般性动作而不是特指某一个动作.
throw用来抛出实际的异常, 后面要跟一个异常对象(实例), 是一个实际的语句.
public void k() throws Exception{
throw new Exception();
}
throw用来抛出实际的异常, 后面要跟一个异常对象(实例), 是一个实际的语句.
public
throws和throw都是动词, 只是一个用来表示一般性, 习惯性动作, 一个用来表示特定动作.比如说:
"人会生病." 这里的生病是一般性动作, 并不是说他一定就生病了, 而是一种一般性的说法.
而"这个人生病了", 这里的生病是一个特定动作, 表示"生病"已经实际发生了.
"人会生病." 这里的生病是一般性动作, 并不是说他一定就生病了, 而是一种一般性的说法.
而"这个人生病了", 这里的生病是一个特定动作, 表示"生病"已经实际发生了.
而且throws用来声明异常, throw用来抛出一个异常, 两者功能各不相同, 效果也不可能一样. 前者出现在方法声明中, 后者出现在方法体中.
throws声明和throw语句的关系是:
用throws声明了抛出异常的方法, 不一定要抛出实际的异常, 如
void aMethod() throws Exception {
throws new Exception(); //此句可以出现也可以不出现
}
而反过来, 如果方法体中有明确的throw语句, 而又没有包裹在try{}块中, 那么一定要在方法上声明出来, 如
void aMethod() {
throws new Exception(); }
这句是不能编译的, 必须在方法声明后面加上throws Exception.
throws声明和throw语句的关系是:
用throws声明了抛出异常的方法, 不一定要抛出实际的异常, 如
void aMethod() throws Exception {
throws new Exception(); //此句可以出现也可以不出现
}
而反过来, 如果方法体中有明确的throw语句, 而又没有包裹在try{}块中, 那么一定要在方法上声明出来, 如
void aMethod() {
throws new Exception(); }
这句是不能编译的, 必须在方法声明后面加上throws Exception.
throws 是用来声明类的成员方法中可能抛出的异常。
throw 是用在try语句块以后的,用于运行时捕捉异常并且抛出异常。
throw 是用在try语句块以后的,用于运行时捕捉异常并且抛出异常。
try throws区别
一个是扔出去,一个是截住处理。
throws 只是把一个异常抛出去了,如果你的上层代码有处理方式,就由上层代码来处理这个异常。
而try/catch对是清楚的知道该操作可能出现什么异常,同时在catch块中应该有处理的方法。
而且还有一种方式就是try/catch/finaly的方式。
而try/catch对是清楚的知道该操作可能出现什么异常,同时在catch块中应该有处理的方法。
而且还有一种方式就是try/catch/finaly的方式。
如果有方法有throws那么,调用些方法的时必须写try{}catch()或是也同样写throws,这样一层向上,直到有写处理这个异常的操作来解决