A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pifuhanshu 中级黑马   /  2014-3-11 21:58  /  880 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 pifuhanshu 于 2014-3-21 18:29 编辑

在处理异常时,什么时候用try—catch语句,什么时候用throw语句?

2 个回复

倒序浏览
Try Catch 最大的作用是你针对java代码中的异常在catch中进行处理,得到你想要的返回息,根据信息你可以很快找到出错点,出什么错。throw 直接抛出异常,使你不知道程序问题出在什么地方,对异常不进行处理。
throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,
如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;
如果要捕捉throw抛出的异常,则必须使用try—catch语句。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
你如果想自己获取异常并处理,用try-catch语句,如果想让别人实现异常的捕获,就用throw或throws。
throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。举例如下:
//定义一个异常方法
static  int add(int a,int b) throws Myexception{// Myexception是自己定义的异常类
       if(a<0||b<0){
                throw new Mxception("操作数不能小于零");
                     }
        return  a+b;
}

//try-catch捕获
try{
            int a=add(-1,2);
}catch( Myexception e){
            //将异常输出等操作
}


评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马