JAVA中Thread.sleep(1000);提示有错误,但是加上try........catch就不报错了,什么原因,作用是什么?

 我来答
娱乐小八卦啊a
高粉答主

2020-05-20 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117860

向TA提问 私信TA
展开全部

因为try...catch 的作用是测试代码中的错误。

当程序运行过程中发生错误时,就会“ 抛出异常',抛出异常比终止程序要灵活得多,这是因为可以提供一个“ 捕获” 异常的处理器 (handler) 对异常情况进行处理。

如果没有提供处理器,程序就会终止,并在控制台上打印出一条信息, 其中给出了异常的类型。可能在前面已经看到过一些异常报告, 例如, 偶然使用了 null 引用或者数组越界等。

异常有两种类型: 未检查异常和已检查异常。 对于已检查异常, 编译器将会检查是否提供了处理器。 然而,有很多常见的异常, 例如,访问 null 引用, 都属于未检查异常。

编译器不会査看是否为这些错误提供了处理器。毕竟,应该精心地编写代码来避免这些错误的发生, 而不要将精力花在编写异常处理器上。

扩展资料

java中异常的捕获及处理

三种类型的异常:

检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。

运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

异常的根接口Throwable,其下有2个子接口,Error和Exception。

Error:指的是JVM错误,这时的程序并没有执行,无法处理;Exception:指的是程序运行中产生的异常,用户可以使用处理格式处理。

sdevil507
推荐于2017-05-20 · 超过13用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:29.5万
展开全部
sleep为thread类静态方法如下:
public static void sleep (long millis) thorows InterruptedException
有抛出异常;
因为是静态方法 所以你可以直接使用thread.sleep();
但是还是需要捕获
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友83830b4
2012-07-07 · TA获得超过532个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:168万
展开全部
try catch 是java提出的一种假设 如果程序顺利完成,那就"一切正常"
如果执行try块里的业务逻辑代码时候出现了异常,系统自动回生成一个异常对象,会寻找能处理异常对象的catch块,如果找到合适的catch块把该异常对象交给catch块处理.如果java运行环境找不到不会异常的catch块,则运行终止
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-07
展开全部
异常捕获啊,就是那个Thread.sleep(1000)在运行时回抛出异常,会使程序终止,但是使用try........catch捕获了异常就不会有什么问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
091714252zcj
2012-07-07
知道答主
回答量:15
采纳率:0%
帮助的人:3.9万
展开全部
就是异常处理啊,因为sleep()函数处理过程中可能产生异常,为了安全起见,就要异常处理……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式