A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 请备注 中级黑马   /  2014-4-3 14:44  /  2904 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多线程为什么要用到try catch   会出现异常吗?   什么异常?

4 个回复

倒序浏览
能够捕获的异常都继承自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,其实也是同样的道理。

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

回复 使用道具 举报
楼上正解~~!
回复 使用道具 举报
491138002 发表于 2014-4-3 16:41
能够捕获的异常都继承自Exception类。
需要以try-catch捕获的是"可检查"异常,所谓"可检查"异常,是指我们应 ...

懂 了 ,3Q
回复 使用道具 举报
用到try catch说明你调用函数抛出了异常,比如说Thread类中的sleep()方法,他的参数为毫秒,如果你输入的是负数那肯定是要产生异常的啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马