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);
}
}
分享到:
相关推荐
2. **异常分类**:Java中的异常分为两大类,可查异常(Checked Exception)和不可查异常(Unchecked Exception)。可查异常是那些在编译期间必须被处理的异常,例如IOException,而不可查异常通常与编程错误有关,如...
异常分为两种主要类型:可查异常(Checked Exception)和不可查异常(Unchecked Exception)。 可查异常是那些可以预见并应该被程序适当地捕获和处理的异常,如IOException、FileNotFoundException等。这些异常在...
而`Error`类则用于表示不可查异常(Unchecked Exception),通常是系统级别的错误或者严重故障,比如内存溢出(OutOfMemoryError)或虚拟机错误(VirtualMachineError),这些通常不是程序员应该捕获和处理的。...
未检查异常(Unchecked Exception),也被称为运行时异常,包括RuntimeException及其子类,如NullPointerException或ArrayIndexOutOfBoundsException,这些异常不需要在编译时期强制处理。 2. 异常的产生和传递 - ...
Java 语言将异常分为两大类:已检查异常(checked exception)和未检查异常(unchecked exception)。 已检查异常是指编译器在编译期检查的异常,例如 IOException、SQLException 等。这些异常都是检查型异常,...
首先,JavaEE应用中的异常可以分为两类:检查性异常(Checked Exception)和运行时异常(Unchecked Exception)。检查性异常是那些在编译时就需要处理的异常,如IOException、SQLException等,程序员必须显式地捕获...
在Java中,异常分为两大类:可查异常(Checked Exceptions)和不可查异常(Unchecked Exceptions)。可查异常是那些在编译期间需要显式处理的异常,比如`IOException`,而不可查异常通常是编程错误,如`...
这些异常通常分为检查性异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。检查性异常是那些在编译时必须处理的异常,如`IOException`,而运行时异常则是在程序运行期间可能出现的问题,如`...
异常分为两种主要类别:检查性异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。 1. 检查性异常:这些异常在编译时就必须要处理,否则会导致编译错误。例如,`IOException`、`SQLException`等,...
3. 异常类型:包括Checked Exception和Unchecked Exception两种。 七、Java编程最佳实践 1. 编码规范:遵循Java编码规范,提高代码的可读性和维护性。 2. 代码重用:使用设计模式和编程技巧,提高代码的重用性。 3...
2. **异常的分类**:Java异常分为检查性异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。检查性异常是那些在编译阶段就需要处理的异常,例如IOException;运行时异常则是在程序运行期间发生,如...
Java中的异常分为两大类:**受检异常**(Checked Exceptions)和**非受检异常**(Unchecked Exceptions)。受检异常是在编译时必须处理的异常,通常表示可以预见并应通过代码进行预防的异常;而非受检异常则包括运行...
unchecked exception不需要显示捕捉或声明抛出,而checked exception需要显示捕捉或声明抛出。 Servlet请求转发和重定向 Servlet中的请求转发和重定向都是将请求从一个资源转发到另一个资源,但是它们的实现机制...
unchecked exception 不需要显示捕捉或申明抛出,而 checked exception 需要显示捕捉或申明抛出。 十、Servlet 中请求的转发与重定向 Servlet 中请求的转发和重定向是两种不同的机制,转发是服务器端的跳转,...
#### 一、非受检异常(Unchecked Exceptions) 非受检异常,又称运行时异常,指的是那些由程序逻辑错误引起的异常。这类异常通常是由编程者的失误造成的,理论上应该通过改进代码来避免它们的发生。Java编译器不会...
- **unchecked exception**的处理:这类异常虽然不需要显式处理,但在实际编程中仍然需要谨慎对待,因为它往往是由于逻辑错误引起的,如果不加以注意可能会导致难以追踪的Bug。 #### 二、字符串操作 文章中提到的...
- 异常主要分为两种类型:检查性异常(Checked Exception)和运行时异常(Unchecked Exception)。 - 检查性异常是在编译时就需要处理的异常,如 `IOException`,必须用 `try-catch` 或 `throws` 关键字声明。 - ...
不可查异常(Unchecked Exceptions)是运行时异常,如NullPointerException,它们在编译时不强制要求处理,但在运行时若未处理,程序会崩溃。 异常处理是Java编程中不可或缺的一部分,合理的异常处理能够提高程序的...