java里的throws 和 try-catch 的用法

如果在 定义的方法中 会有语句抛出异常 而你又不希望在这个方法体内对此异常进行处理,可以使用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() throws 丢给老板的Exception{

    try{
        //做老板给你的事情
    } catch(你能处理的Exception e){
        //处理你能解决的问题
    } finally {    
        //不管问题有没有发生, 都要处理的工作
    }

}


如果 一个 方法里有多个异常,多个异常之间,用 逗号 隔开就ok了;

例子4:

public void doClick(View v) throws 异常1, 异常2, 异常3, 异常4{
   
    //产生异常1的语句


    //产生异常2的语句
    //产生异常3的语句

   //产生异常4的语句

}









posted @ 2012-12-14 00:06  点点爱梦  阅读(256)  评论(0编辑  收藏  举报