如果在 定义的方法中 会有语句抛出异常 而你又不希望在这个方法体内对此异常进行处理,可以使用throws在声明方法的时候,同时声明他可能会跑出的异常。比如:
例子1: 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就是抛给老板的问题了。
例子3: public void a() t hrows 丢给老板的Exception{ try{ //做老板给你的事情 } catch(你能处理的Exception e){ //处理你能解决的问题 } finally { //不管问题有没有发生, 都要处理的工作 }}
如果 一个 方法里有多个异常,多个异常之间,用 逗号 隔开就ok了;
例子4:
public void doClick(View v) throws 异常1, 异常2, 异常3, 异常4{
//产生异常1的语句 //产生异常2的语句 //产生异常3的语句//产生异常4的语句
}