黑马程序员技术交流社区

标题: 在try块中可以抛出异常吗? [打印本页]

作者: 赵鸿富    时间: 2013-4-26 19:08
标题: 在try块中可以抛出异常吗?
单独使用try不用catch可以抛出异常吗?
作者: 殇_心。    时间: 2013-4-26 19:10
本帖最后由 殇_心。 于 2013-4-26 19:12 编辑

是可以。
但是必须得使用finally。
异常处理3种方式:( ... 代表代码块。 )
方式一:
try
{
...
}
catch(Exception e)
{
....
}
方式二:
try
{
...
}
finally
{
....
}
方式三:
try
{
...
}
catch(Exception e)
{
....
}
finally
{
...
}
作者: 黄茂霖    时间: 2013-4-26 20:08
楼主,如果你说的是单独try{ ... },编译都过不去的谈何抛异常,如果你是try{ ... }finally{ ... }这种是可以的,因为catch()块是让你处理异常的,你不处理异常也可以,只不过可能会导致程序健壮性不太好。
作者: 337091921    时间: 2013-4-26 20:50
try是不单独使用的,要和catch一块使用。try是检验有异常的代码。catch是解决异常的。记住不可以单独使用
作者: 曾德强    时间: 2013-4-26 22:51
如果单独使用,要报错的
作者: sos3542    时间: 2013-4-27 16:05
本帖最后由 sos3542 于 2013-4-27 16:18 编辑

单独使用try不用catch抛出异常,得Finally必须要执行语句,try不能单独使用,否则会报错的。
try
{
       需要被检测异常的代码;
}
catch
{
       处理异常的代码;
}
finally
{
       一定会执行的语句;
}
注意:1、finally中定义的通常是关闭资源代码,因为资源必须释放
          2、finally只有一种情况不会执行,当执行system.exit(0);不会执行
          3、如果父类或者接口没有异常抛出时,子类覆盖出现异常时,只能try不能抛
有4种结合方式如下:
1
try
{
}
catch
{
}
2、try
{
}
catch
{
}
finally
{
}
3try
{
}
finally
{
}
4try
{
}
多个catch
{
}
catch
{
}
  ……

作者: 海不扬波    时间: 2013-4-27 16:57
try...catch语句的一般形式为:
try{
语句块 //执行该语句块,可能会发生异常
}catch(异常类型e){
异常发生时要执行的语句块
}finally{
无论异常发生与否,都要执行的语句
}
在try...catch语句中,catch和finally必须与一个try相关联,同样try也必须至少要有一个catch.
finally语句块的作用是当异常发生时,在执行异常处理语句块之前,必须先做一些清理的工作,这样的工作放在finally语句块中。
finally语句块是可选的,它只是提供一种机制,无论try语句块是否发生异常,都要确保清理作的完成。
catch后面异常发生时执行的语句块,可以为空,但一对{}不能省略。
作者: liuelxiwd    时间: 2013-4-27 17:17
可以啊,用throw,没s
作者: xiewen    时间: 2013-5-1 15:06
try不能单独使用,要么和catch一起使用,可以跟多个catch,要么和finally一起使用,只能有一个finally
作者: 曹睿翔    时间: 2013-5-2 07:51


如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者: 张林敏    时间: 2013-5-2 22:43
try不能单独使用,编译就过不去。要跟catch、finally一起使用。如果楼主想要抛出异常也可以在catch中进行捕获




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2