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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ztwztw 中级黑马   /  2013-12-17 09:09  /  1397 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Ticket implement Runable
{
private int tick=100;
public void run()
{
while (true)
(
if(tick>0)
{
try(Thread.sleep(10));
catch(Exception e){}
system.out.println(this.getName+"...."+tick--);

}
)
}
}
在这个类中为什么只能try,不能抛。

评分

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

查看全部评分

5 个回复

倒序浏览
应该是楼主没有在函数中写 throws Exception 语句,无法抛给上一层调用函数
回复 使用道具 举报
不是在这个类中不能抛,是在这个run()里不能抛,因为你是重写了Runnable里面的run()方法,父类中run()没有抛异常,子类中的run() 也不能抛...
如果你在下面自定义一个方法,那是可以抛的。
回复 使用道具 举报
实现Runable类对其方法重写,Runable类的该方法如果没有抛出异常那么重写时的异常只能try不能抛
回复 使用道具 举报
谢谢。我知道了
回复 使用道具 举报
因为run()方法是覆写Runable的,它没有抛异常,所以你也不能抛,只能try
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马