码迷,mamicode.com
首页 > 其他好文 > 详细

Handling Exceptions

时间:2015-05-19 21:04:09      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

What Is an Exception?

The term exception is shorthand for the phrase "exceptional event."

Definition: An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program‘s instructions.


技术分享

Searching the call stack for the exception handler.

The Three Kinds of Exceptions

  • The first kind of exception is the checked exception. These are exceptional conditions that a well-written application should anticipate and recover from. 

Checked exceptions are subject to the Catch or Specify Requirement. All exceptions are checked exceptions, except for those indicated by ErrorRuntimeException, and their subclasses.

  • The second kind of exception is the error. These are exceptional conditions that are external to the application, and that the application usually cannot anticipate or recover from. 

Errors are not subject to the Catch or Specify Requirement. Errors are those exceptions indicated by Error and its subclasses.

  • The third kind of exception is the runtime exception. These are exceptional conditions that are internal to the application, and that the application usually cannot anticipate or recover from. 

Runtime exceptions are not subject to the Catch or Specify Requirement. Runtime exceptions are those indicated by RuntimeException and its subclasses.

Errors and runtime exceptions are collectively known as unchecked exceptions.

技术分享

The Throwable class

The Catch or Specify Requirement

Valid Java programming language code must honor the Catch or Specify Requirement. This means that code that might throw certain exceptions must be enclosed by either of the following:

Code that fails to honor the Catch or Specify Requirement will not compile.

Bypassing Catch or Specify

Some programmers consider the Catch or Specify Requirement a serious flaw in the exception mechanism and bypass it by using unchecked exceptions in place of checked exceptions. In general, this is not recommended. The section Unchecked Exceptions — The Controversy talks about when it is appropriate to use unchecked exceptions.

Generally speaking, do not throw a RuntimeException or create a subclass of RuntimeException simply because you don‘t want to be bothered with specifying the exceptions your methods can throw.

Here‘s the bottom line guideline: If a client can reasonably be expected to recover from an exception, make it a checked exception. If a client cannot do anything to recover from the exception, make it an unchecked exception.


参考:Exceptions


Handling Exceptions

标签:

原文地址:http://my.oschina.net/yinjq/blog/416973

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!