问一个关于JAVA 线程throws InterruptedException 的基础问题

leozhang2002 2009-03-19 10:41:53
为什么有些线程的方法定义了要throws InterruptedException,如sleep, join, wait 等。

在什么情况下,会发生这些异常?

编码时在捕获到这些异常时,我们该怎么去处理?
...全文
768 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
leozhang2002 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dreamhunter_lan 的回复:]
这里面的东西太多了
去这里看看吧,应该可以解决你的问题
http://blog.csdn.net/axman/archive/2005/12/26/562249.aspx
[/Quote]

感谢!我从这篇文章中找到了答案
chenyingshu 2009-03-20
  • 打赏
  • 举报
回复
学习。
wclszh 2009-03-20
  • 打赏
  • 举报
回复
学习
chxy148 2009-03-20
  • 打赏
  • 举报
回复
学习~~
wanchangjiu123 2009-03-20
  • 打赏
  • 举报
回复
当JAVA 程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是 java.lang.Thowable的子类。


这是从一个帖子上引用的!
dreamhunter_lan 2009-03-19
  • 打赏
  • 举报
回复
这里面的东西太多了
去这里看看吧,应该可以解决你的问题
http://blog.csdn.net/axman/archive/2005/12/26/562249.aspx
sforiz 2009-03-19
  • 打赏
  • 举报
回复
就是为了防止有异常才要用THROWS把异常抛出,并做适当的处理,如果一个程序超过一定的等待时间就应该抛出相应的异常,并做处理(如超时)
zabaglione 2009-03-19
  • 打赏
  • 举报
回复
一般都是在几个thread共享一个资源的时候使用,
比如打印机

在一个thread的sleep时间内,如果有别的thread
调用这个资源就会发出一个interrupted的错误。
catch之后一般都是关闭资源。

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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