`
shangtang004
  • 浏览: 32459 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

runtime exception & checked exception

 
阅读更多
JAVA 提供两种异常,检测与非检测;
检测异常类是java.lang.Exception and its subclass.
non checked exception is java.lang.RuntimeException,java.lang.Error and their subclass.

Checked exceptions indicate an exceptional condition from which a caller can conceivably recover.
Conversely, runtime exceptions indicate a programmatic error from which a caller cannot normally recover

As a rule of thumb, you should always catch a checked exception once you reach a point where your code can make a meaningful attempt at recovery.
However, it is best not to catch runtime exceptions. Instead, you should allow runtime exceptions to bubble up to where you can see them.

If you do catch runtime exceptions, you risk inadvertently hiding an exception you would have otherwise detected and fixed. As a result, catching runtime exceptions complicates unit
and regression testing. While testing, seeing a stack trace or allowing the test to catch and report runtime exceptions lets you quickly identify problems.
Some programmers advocate catching and logging runtime exceptions, but I disagree because that makes you read through logs while you unit test your code. A unit test should indicate
whether the test passed or failed without manual verification from a log. Let the unit test catch the exception, not the code being tested


Catching runtime exceptions also leads to a worse problem: what exceptions do you catch, and when do you catch them? Runtime exceptions are undeclared,
so how do you know what you should catch? How do you know there's an exception to catch? Certainly you wouldn't place try/catch blocks around every method call and array access you perform?
分享到:
评论

相关推荐

    详解Java中Checked Exception与Runtime Exception 的区别

    Java 中 Checked Exception 与 Runtime Exception 的区别 Java 中的异常处理机制是 Java 语言的一个重要特色,它允许程序产生例外状况。在学习 Java 时,我们需要了解不同种类的异常的区别。Java 提供了两种异常...

    Java异常处理机制应用研究.pdf

    Exception 又可以分为两种:Checked Exception 和 Runtime Exception。Checked Exception 是编译器检查的异常,例如 IOException、SQLException 等。Runtime Exception 是运行时异常,例如 NullPointerException、...

    运行时异常与一般异常的区别?

    Exception 则是可以捕捉的,Java 提供了两类主要的异常:runtime exception 和 checked exception。checked 异常也就是我们经常遇到的 IO 异常,以及 SQL 异常都是这种异常。对于这种异常,JAVA 编译器强制要求我们...

    Java精华(免费版)

    另外,method3()本身并不会抛出exception,可是它却声明会抛出CheckedException。在向你解释之前,让我们先来看看这个类的main()方法:   public static void main( String[] args )   {   ...

    内部类与异常类.doc

    异常类可以分为两种:Checked Exception 和 Runtime Exception。 1. Checked Exception Checked Exception 是指编译器检查的异常。这种异常需要在方法的throws子句中声明,否则编译器将报错。例如,IOException ...

    Java异常详解

    Java 异常可以分为两大类:Checked Exception 和 Runtime Exception。 Checked Exception 是编译器在编译过程中检查的异常,这些异常必须在编译时被捕获和处理。常见的 Checked Exception 有 IOException、...

    关于java的一些小异常的处理

    自定义异常应继承自`Exception`类或其子类,根据需要选择`Checked Exception`或`Runtime Exception`。 总之,Java中的异常处理是一个强大的工具,它允许开发者以一种结构化的方式来应对程序执行过程中可能出现的...

    java exception

    异常分为两种类型:检查性异常(Checked Exceptions)和运行时异常(Runtime Exceptions)。检查性异常是那些在编译时就应当预见并处理的异常,如`IOException`、`SQLException`等。如果可能抛出检查性异常的方法...

    Java高级程序设计:第8章-异常处理.pptx

    能够区分checked exception和 runtime exception 会使用 try-catch-finally 处理异常 方法声明异常 抛出异常 自定义异常类 语法错误, 运行期错误, 逻辑错误 语法错误: 没有遵循语法规则导致的错误。 运行期错误: ...

    Java異常研究報告(尚未完成)

    `Exception`类进一步分为两种主要类型:`Checked Exception`和`Runtime Exception`。`Checked Exception`是那些在编译时期就需要检查并处理的异常,它们通常是从`java.lang.Exception`直接或间接继承的,例如`...

    Runtime-Exception-Rams

    在Java编程语言中,"Runtime-Exception-Rams"可能指的是运行时异常(RuntimeException)和它在内存管理(尤其是RAM,即随机存取存储器)中的影响。运行时异常是程序执行过程中可能发生的一类异常,它们通常表示编程...

    常用的RuntimeException.txt

    异常类(`Exception`)是 `Throwable` 类的一个子类,它又分为两大类:检查性异常(`Checked Exception`)和运行时异常(`Runtime Exception`)。本篇将重点讨论运行时异常及其常见类型。 #### 运行时异常(`...

    Java语言程序设计基础篇课后题答案-Chapter17ExceptionsandAssertions.pdf

    本资源对Java语言程序设计基础篇的Chapter 17 Exceptions and Assertions进行了详细的解释和知识点总结,涵盖了Java异常类的继承结构、claiming exceptions、checked exception和unchecked exception、throw语句和...

    J2EE面试笔试题

    Exception是程序运行过程中可以预期的异常情况,分为Checked Exception(编译时需要处理)和Runtime Exception(运行时异常)。Checked Exception需要在编译期间显式处理,而Runtime Exception则不一定需要,但建议...

    Java程序设计项目教程(第二版)-参考答案.docx

    Java 中有两种类型的异常:Checked Exception 和 Runtime Exception。Checked Exception 是在编译时检查的异常,而 Runtime Exception 是在运行时检查的异常。 异常处理的步骤包括: 1. try 语句块:用于包含可能...

    java异常处理

    - **编译时异常** (`Checked Exception`):这些异常在编译时会被检查,如果方法中可能会抛出此类异常,则必须在方法签名中声明,或者在方法体内通过 try-catch 块处理。 - **运行时异常** (`Runtime Exception`):...

    【独家高薪笔面试题库】与【实战配套练习演练】9.Exception异常1

    首先,我们来了解“检查异常”(Checked Exceptions)。这类异常通常是由外部条件引起,如文件不存在、网络连接失败等,是程序员在编写代码时应该预见并进行处理的异常。因为检查异常是编译时需要强制处理的,所以在...

    UnCaught-Exception:Android中未捕获的异常。 (很遗憾,应用已关闭)错误处理程序

    在Java中,异常分为两种类型:检查性异常(Checked Exception)和运行时异常(Runtime Exception)。 - 检查性异常是编译时需要捕获的异常,例如IOException、SQLException等。而运行时异常则是在程序运行期间抛出...

    exception_ex_1

    在Java中,异常分为两种类型:检查型异常(Checked Exceptions)和运行时异常(Runtime Exceptions)。检查型异常是那些在编译时必须处理的异常,例如IOException,程序员必须用try-catch块捕获或者在方法签名中使用...

Global site tag (gtag.js) - Google Analytics