java 捕捉错误_捕捉Java错误

除了提供如何技术上克服问题的建议外,我想花一点时间,并解释为什么它被认为是“坏习惯”.

我们首先来澄清Error类是什么.

在java中,抛出错误和异常(这是主要的类型).通过使用throw关键字来抛出上述之一.可以抛出每个扩展基本java.lang.Throwable的类.

有两个类继承自Throwable的基本类:Exception和Error.他们在文件中解释了这两者之间的区别:

An Error is a subclass of Throwable that indicates serious

problems that a reasonable application should not try to catch. Most

such errors are abnormal conditions. […]

The class Exception and its subclasses are a form of Throwable

that indicates conditions that a reasonable application might want

to catch.

如上所述,由于不同的起源,错误和异常被分离.错误通常表示一个问题,应用程序无法从中恢复.所以不应该被抓住.

对于RuntimeException也是如此,但它用于指示高级层(例如方法)的问题.而错误表示低级问题(例如运行时).

所以,现在你明白你只能捕捉你能够恢复的例外和错误,你的问题的答案应该是明确的.

是的,捕获UnsatisfiedLinkError是非常合理的,因为您的应用程序可以从中恢复.

我在article on my Blog中介绍了上面的内容(更详细的例子)和一些扩展的信息.


版权声明:本文为weixin_28912017原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。