黑马程序员技术交流社区

标题: 第十二天多线程线程通信问题 [打印本页]

作者: 陈嘉宾    时间: 2012-5-23 21:09
标题: 第十二天多线程线程通信问题
try{this.wait();}catch(exception e){}到底起什么作用呢,不太明白啊
作者: 陈嘉宾    时间: 2012-5-23 21:34
不清楚为什么try,catch。。
作者: 付左军    时间: 2012-5-23 22:29
因为wait是object类中的方法,规定在调用该方法是要抛出异常

作者: 程序猿    时间: 2012-5-23 22:47
编程中会有一些不定因素的方法,比如文件操作,比如文件的关流操作,有很多脱离了java语言的一个事物的多种状态,多种状态导致java运行过程中的不同结果。比如:java操作文件时会出现文件存在或者不存在两种情况,如果文件不存在就会抛出异常,那么程序员就要针对不存在这种情况做出自己的选择性操作了,你是选择创建文件,还是选择交给用户处理,你还是选择换一个文件,这都是你应该在捕获(catch)到这个异常之后写的程序了。你这个函数是Object的wait()函数。看jdk文档会抛出InterruptedException,意思是让当前线程等待。当发生等待这个事件时或事件中,线程如果处于正在等待、休眠或占用状态且该线程被中断时,就会出现不同的情况,所以才抛出该异常。同学,你应该还没学到异常呢吧~ 建议你在这个运行函数上加一个 throws Exception

比如 public static void main(String [] args) throws Exception
{
}
先这么解决着,等你学到了就明白了~




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