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

不需查的异常(unchecked exception)

    博客分类:
  • J2EE
阅读更多

Java的主流二大异常的用法是:需查异常(checked exception)与不需查异常(unchecked exception).不需查异常限制为RuntimeException的子类,除外其它Exception的子类都是需查异常.

今天不需查异常用法比较少,它是相对于是需查异常而言的,即在代码中不用throws关键字声明就能抛出异常.由于这种类型的异常不用throws声明,所以Java编译器不会强迫程序员捕获.程序员可以用try-catch来捕获,但只能printStackTrace的信息,无法拿到getMessage的信息.

 有三种实现方式:

1.对所有线程:

Thread.setDefaultUncaughtExceptionHandler(new UncheckException());//UncheckException见以下说明

2.对特定的线程组:

在ThreadGroup的子类中Override ThreadGroup的方法uncaughtException()

3.对单独的线程:

Thread.setUncaughtExceptionHandler(new UncheckException())

 

说明:UncheckException是实现UncaughtExceptionHandler的类.

 

需查异常主要用于契约化设计,强化设计约定.从而在一定程序上保证方法不会误用.

 

 例如:

 

 public static void main(String[] args) {
  Thread.setDefaultUncaughtExceptionHandler(new UncheckException());
  String test = null;
  test.length();
 }

 

 

public class UncheckException implements UncaughtExceptionHandler {

 public void uncaughtException(Thread t, Throwable e) {
  System.out.println("自定义不检查异常:"+t+":"+e);
 }
 
}

 

 

 

 

分享到:
评论
1 楼 rain2005 2010-01-05  
不知道你是从哪里得来的不需查异常用法比较少,它是相对于是需查异常而言的结论,看看spring,hibernate,struts都是unchecked exception,另外就我了解的语言ruby,erlang里面也是没有checked exception的概念的,看看effactive java里面对unchecked exception有详细的解释。

相关推荐

    Java 异常处理面试集锦及答案20道

    2. **异常分类**:Java中的异常分为两大类,可查异常(Checked Exception)和不可查异常(Unchecked Exception)。可查异常是那些在编译期间必须被处理的异常,例如IOException,而不可查异常通常与编程错误有关,如...

    JAVA程序设计——异常和断言

    异常分为两种主要类型:可查异常(Checked Exception)和不可查异常(Unchecked Exception)。 可查异常是那些可以预见并应该被程序适当地捕获和处理的异常,如IOException、FileNotFoundException等。这些异常在...

    Java中异常实例.pdf

    而`Error`类则用于表示不可查异常(Unchecked Exception),通常是系统级别的错误或者严重故障,比如内存溢出(OutOfMemoryError)或虚拟机错误(VirtualMachineError),这些通常不是程序员应该捕获和处理的。...

    Java习题_异常相关的习题_chap11.pdf

    未检查异常(Unchecked Exception),也被称为运行时异常,包括RuntimeException及其子类,如NullPointerException或ArrayIndexOutOfBoundsException,这些异常不需要在编译时期强制处理。 2. 异常的产生和传递 - ...

    Java-异常(习题).doc

    Java 语言将异常分为两大类:已检查异常(checked exception)和未检查异常(unchecked exception)。 已检查异常是指编译器在编译期检查的异常,例如 IOException、SQLException 等。这些异常都是检查型异常,...

    JavaEE应用遇到的异常及解决方案

    首先,JavaEE应用中的异常可以分为两类:检查性异常(Checked Exception)和运行时异常(Unchecked Exception)。检查性异常是那些在编译时就需要处理的异常,如IOException、SQLException等,程序员必须显式地捕获...

    Java 异常问题,深入研究.docx

    在Java中,异常分为两大类:可查异常(Checked Exceptions)和不可查异常(Unchecked Exceptions)。可查异常是那些在编译期间需要显式处理的异常,比如`IOException`,而不可查异常通常是编程错误,如`...

    java常见的异常

    这些异常通常分为检查性异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。检查性异常是那些在编译时必须处理的异常,如`IOException`,而运行时异常则是在程序运行期间可能出现的问题,如`...

    Java异常类型-Java教程共1页.pdf.zip

    异常分为两种主要类别:检查性异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。 1. 检查性异常:这些异常在编译时就必须要处理,否则会导致编译错误。例如,`IOException`、`SQLException`等,...

    Java增删改查

    3. 异常类型:包括Checked Exception和Unchecked Exception两种。 七、Java编程最佳实践 1. 编码规范:遵循Java编码规范,提高代码的可读性和维护性。 2. 代码重用:使用设计模式和编程技巧,提高代码的重用性。 3...

    实验10java异常(答案).pdf

    2. **异常的分类**:Java异常分为检查性异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。检查性异常是那些在编译阶段就需要处理的异常,例如IOException;运行时异常则是在程序运行期间发生,如...

    java异常汇总.txt

    Java中的异常分为两大类:**受检异常**(Checked Exceptions)和**非受检异常**(Unchecked Exceptions)。受检异常是在编译时必须处理的异常,通常表示可以预见并应通过代码进行预防的异常;而非受检异常则包括运行...

    软通动力Java笔试题1

    unchecked exception不需要显示捕捉或声明抛出,而checked exception需要显示捕捉或声明抛出。 Servlet请求转发和重定向 Servlet中的请求转发和重定向都是将请求从一个资源转发到另一个资源,但是它们的实现机制...

    软通动力Java笔试题2011,大家可要把握好机会哦。

    unchecked exception 不需要显示捕捉或申明抛出,而 checked exception 需要显示捕捉或申明抛出。 十、Servlet 中请求的转发与重定向 Servlet 中请求的转发和重定向是两种不同的机制,转发是服务器端的跳转,...

    Java软件开发实战 Java基础与案例开发详解 10-7 异常分类 共4页.pdf

    #### 一、非受检异常(Unchecked Exceptions) 非受检异常,又称运行时异常,指的是那些由程序逻辑错误引起的异常。这类异常通常是由编程者的失误造成的,理论上应该通过改进代码来避免它们的发生。Java编译器不会...

    新高质量的Java程序设计

    - **unchecked exception**的处理:这类异常虽然不需要显式处理,但在实际编程中仍然需要谨慎对待,因为它往往是由于逻辑错误引起的,如果不加以注意可能会导致难以追踪的Bug。 #### 二、字符串操作 文章中提到的...

    Java工程师试题(机构招聘)

    - 异常主要分为两种类型:检查性异常(Checked Exception)和运行时异常(Unchecked Exception)。 - 检查性异常是在编译时就需要处理的异常,如 `IOException`,必须用 `try-catch` 或 `throws` 关键字声明。 - ...

    Java异常基础知识解析

    不可查异常(Unchecked Exceptions)是运行时异常,如NullPointerException,它们在编译时不强制要求处理,但在运行时若未处理,程序会崩溃。 异常处理是Java编程中不可或缺的一部分,合理的异常处理能够提高程序的...

Global site tag (gtag.js) - Google Analytics