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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

try、catch、finally 、throw、 throws分别在什么情况下使用,怎么用。?应该注意哪些?

7 个回复

倒序浏览
程序的流程是:运行到try块中,如果有异常抛出,则转到catch块,catch块执行完毕后,执行finally块的代码,再执行finally块后面的代码。如果没有异常抛出,执行完try块,也要去执行finally块的代码。 然后执行finally块后面的语句        throw 是语句抛出一个异常;throws 是方法抛出一个异常;throws 可以单独使用,但 throw 不能; throw要么和try-catch-finally语句配套使用,要么与throws配套使用。但throws可以单独使用,然后再由处理异常的方法捕获。

评分

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

查看全部评分

回复 使用道具 举报
throws是获取异常
throw是抛出异常
try是将会发生异常的语句括起来,从而进行异常的处理,catch是如果有异常就会执行他里面的语句,而finally不论是否有异常都会进行执行的语句。
回复 使用道具 举报
try{}用来定义需要被检测的代码,catch(){}用来处理异常的代码,
finally{}中是一定会执行的代码
注意:
1,finally中定义的通常是 关闭资源代码。因为资源必须释放。
2,finally只有一种情况不会执行。当执行到System.exit(0);finally不会执行。
throw定义在函数内,用于抛出异常对象。
throws定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开
当函数内容有throw抛出异常对象,并未进行try处理。必须要在函数上声明,否则编译失败。
注意:RuntimeException除外。也就说,函数内如果抛出的RuntimeException异常,函数上可以不用声明。
这些毕老师视频都有讲到啊,day10里面有很详细解释!

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
回复 使用道具 举报
本帖最后由 枫露 于 2014-3-18 23:40 编辑

异常处理机制
try {
        这里写可能出错的代码               
                } catch (Exception e) {
                        这里写可能出现的错误异常的处理
                }finally{
                        这里写一定会执行的代码,有些资源需要关闭的时候
                }
throw和throws写在main方法的大括号的前边,当有一个异常的时候使用throw,有多个异常使用throws
一般情况下,对需要处理的异常使用try catch finally ;

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
try{
    可能出现异常的代码,用于捕捉异常
}catch()Exception e{
    处理出现的异常
}finally{
   不管上边的执行不执行,这里存放一定执行的代码,(通常放关闭资源的代码,除以上代码出现System.exit(0)系统退出,finally里代码不执行)

throws 声明可能出现的异常,用在方法上。
throw  不处理异常,想上抛出异常,用在内部
}

评分

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

查看全部评分

回复 使用道具 举报
throw定义在函数内,用于抛出异常对象。
throws定义在函数上,用于抛出异常类,可以抛出多个用逗号隔开。
异常处理语句:
try
{
        需要被检测的代码
}
catch ()
{
        处理异常的代码
}
finally
{
        一定会执行的代码
}
异常的注意事项:
                在子父类覆盖时:
                1,子类抛出的异常必须是父类的异常的子类或者子集、
                2,如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try处理不能抛出。

评分

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

查看全部评分

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