“一旦一个方法抛出一个异常后,那么该方法就再也不能返回到它的调用者了” 好象有错!?

gyscsdn 2003-12-11 12:00:56
String readData(BufferedReader in) throws EOFException
{
...
while(...)
{
if (ch == -1)
{
if (n<1) throw new EOFException();

}
...
}
return s;

}

一旦一个方法抛出一个异常后,那么该方法就再也不能返回到它的调用者了???
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizl 2003-12-13
  • 打赏
  • 举报
回复
同意alienbat,但建议不要在循环体里面写try ...catch,程序会变慢
gyscsdn 2003-12-11
  • 打赏
  • 举报
回复
我的理解是:
if (n<1) throw new EOFException();成立抛出异常了,
应该只能结束本次循环,接着进入下次循环(循环条件成立时)!


对吗????
zkjbeyond 2003-12-11
  • 打赏
  • 举报
回复
一般在方法中catch捕获异常。不直接抛出
gyscsdn 2003-12-11
  • 打赏
  • 举报
回复
我的理解是:
if (n<1) throw new EOFException();
应该只能结束本次循环,接着进入下次循环!
blueye11 2003-12-11
  • 打赏
  • 举报
回复
都给你们说完了,我说什么啊。
哥们,应该看看异常的自定义 和 抛出 了 。
alienbat 2003-12-11
  • 打赏
  • 举报
回复
throw Exception会导致程序立即跳出当前代码块。
这里的“当前代码块”的范围是指,从最外面的“catch”此Excepion的位置开始,一直到此Exception发生的地方。
因此楼主贴出的那种情况,结果就是此方法直接在此停止,跳出。因此此方法中的任何循环都会中止。除非,全部的try...catch语句都写在此循环体内。
junyi2003 2003-12-11
  • 打赏
  • 举报
回复
一般在方法中catch捕获异常。不直接抛出

---------------------
如果不做处理和显示,而给后面程序处理和显示时,该直接throws

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧