黑马程序员技术交流社区

标题: 多线程里为什么要用到try catch。 [打印本页]

作者: 请备注    时间: 2014-4-3 14:44
标题: 多线程里为什么要用到try catch。
多线程为什么要用到try catch   会出现异常吗?   什么异常?
作者: 491138002    时间: 2014-4-3 16:41
能够捕获的异常都继承自Exception类。
需要以try-catch捕获的是"可检查"异常,所谓"可检查"异常,是指我们应该自行处理的异常。至于处理的手段,要么加以控制(try catch),要么通告(throws)他们有可能产生。通常,应捕捉那些已知如何处理的异常,而通告那些不知如何处理的异常。
java的异常处理机制要求程序员必须捕捉"可检查"异常并提供处理方法,或者向更上层抛出该异常。
try-catch能解决的问题就是处理可能出现的异常
打个比方,如下代码:
public void go(){
File file=new File("d:\\a.txt");
FileInputStream fis=null;
try {
    fis=new FileInputStream(file);
} catch (FileNotFoundException ex) {
    System.out.println("file not found");
    ex.printStackTrace();
}
if(fis!=null){//如果找到了文件
……
}
}
代码作用是打开一个文件,如果找不到文件(即捕获到了FileNotFoundException),就给出提示。而找不到文件这样的异常,就属于可能会出现的、可以处理的异常,以这段代码为例try-catch的作用就在于系统找不到文件时不会导致程序出错终止,而是继续往下运行。多线程为什么用try-catch,其实也是同样的道理。
作者: 小班。    时间: 2014-4-3 21:49
楼上正解~~!
作者: 请备注    时间: 2014-4-3 22:56
491138002 发表于 2014-4-3 16:41
能够捕获的异常都继承自Exception类。
需要以try-catch捕获的是"可检查"异常,所谓"可检查"异常,是指我们应 ...

懂 了 ,3Q
作者: 杨殿生    时间: 2014-4-4 00:13
用到try catch说明你调用函数抛出了异常,比如说Thread类中的sleep()方法,他的参数为毫秒,如果你输入的是负数那肯定是要产生异常的啊




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