如果在 定义的方法中 会有语句抛出异常 而你又不希望在这个方法体内对此异常进行处理,可以使用throws在声明方法的时候,同时声明他可能会跑出的异常。比如:
public void go() throws SQLExceptions
{
//...
Connection conn = ds.getConnection();
//...
}
本来ds.getConnection()将可能会抛出SQLException,但现在使用throws 在方法名处声明了,所以在方法体中就不需要 try/catch 块来处理SQLException 了.
例子2:
class test_throws
{
public static void main(String args[]) throws IOException // { //main方法内 可能会抛出IOException异常
//main方法并没有处理该异常,而是把它丢出去由调用它的人来处理(也就是给jvm处理)
//....
}
}
比喻:
程序是老板让你做的事, 异常就是做事过程中遇到的问题, 如果问题你能够处理, 那么你可以自己处理, 如果不能处理的问题, 定义出来, 抛给老板. throws就是抛给老板的问题了。
public void a() throws 丢给老板的Exception{
try{
//做老板给你的事情
} catch(你能处理的Exception e){
//处理你能解决的问题
} finally {
//不管问题有没有发生, 都要处理的工作
}
}
如果 一个 方法里有多个异常,多个异常之间,用 逗号 隔开就ok了;
例子4:
public void doClick(View v) throws 异常1, 异常2, 异常3, 异常4{
//产生异常1的语句
//产生异常2的语句
//产生异常3的语句
//产生异常4的语句
}
本文介绍了Java中如何通过throws关键字声明可能抛出的异常,避免在方法内部直接处理这些异常。通过几个实例展示了如何正确地使用throws关键字,并解释了其背后的逻辑。
2230

被折叠的 条评论
为什么被折叠?



