- public class ExceptionTypeTest {
- public void doSomething()throws ArithmeticException{
- System.out.println();
- }
- public static void main(){
- ExceptionTypeTest ett = new ExceptionTypeTest();
- ett.doSomething();
- }
- }
问题1:上面的程序能否编译通过?并说明理由。
解答:能编译通过。
分析:按照一般常理,定义doSomething方法是定义了ArithmeticException异常,在main方法里 里面调用了该方法。那么应当继续抛出或者捕获一下。但是ArithmeticException异常是继承RuntimeException运行时异常。 java里面异常分为两大类:checked exception(检查异常)和unchecked exception(未检查异常),对于未检查异常也叫RuntimeException(运行时异常),对于运行时异常,java编译器不要求你一定要把它捕获或者一定要继续抛出,但是对checked exception(检查异常)要求你必须要在方法里面或者捕获或者继续抛出.
问题2:上面的程序将ArithmeticException改为IOException能否编译通过?并说明理由。
解答:不能编译通过。
分析:IOException extends Exception 是属于checked exception ,必须进行处理,或者必须捕获或者必须抛出
总结:java中异常分为两类:checked exception(检查异常)和unchecked exception(未检查异常)
对于未检查异常也叫RuntimeException(运行时异常).
对未检查的异常(unchecked exception )的几种处理方式:
1、捕获
2、继续抛出
3、不处理
对检查的异常(checked exception,除了RuntimeException,其他的异常都是checked exception )的几种处理方式:
1、继续抛出,消极的方法,一直可以抛到java虚拟机来处理
2、用try...catch捕获
注意,对于检查的异常必须处理,或者必须捕获或者必须抛出
相关推荐
Exception 是 Java 异常机制中的另一个基类,分为检查异常和运行时异常两种。检查异常是编译器在编译时强制要求处理的异常,例如 IO 操作、ClassNotFoundException、线程操作等。运行时异常是编译器不强制要求处理的...
### Java中常见异常类型及分析 #### 一、概述 在Java编程中,异常处理是一项重要的技术,它有助于开发者在程序运行过程中及时发现并处理错误,确保程序的稳定性和健壮性。Java语言中提供了丰富的异常处理机制,...
Java中常用异常列表 异常是Java程序中的一种错误处理机制,用于捕获和处理运行时错误。在Java中,异常可以分为两大类:checked异常和unchecked异常。checked异常是编译器强制检查的异常,unchecked异常是运行时异常...
Java中的异常分为检查型异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。检查型异常通常是程序设计问题或外部条件导致的,如文件不存在或网络连接失败,这些异常在编译时就需要处理。运行时异常则...
Exception 类是所有异常类的父类,而 RuntimeException 类是所有非检查异常的父类。我们可以通过继承这些类来创建自己的异常类,从而实现自定义的异常处理机制。 在 Java 中,我们可以使用 finally 语句来释放资源...
5. **Native Method Stack(本地方法栈)**:与Java栈类似,但用于支持Java的本地接口(JNI)调用,即C/C++等本地方法的调用。 Java的垃圾回收机制采用分代收集算法,将堆分为年轻代(包括Eden和两个Survivor区)和...
### JAVA中常见的异常知识点详解 #### 一、`java.lang.NullPointerException` 在Java编程中,`java.lang.NullPointerException`(简称NPE)是最常见的异常之一。这种异常通常发生在尝试访问一个空对象引用的方法或...
`Exception`是所有检查型异常(checked exception)的基类,而`RuntimeException`及其子类则代表未检查型异常(unchecked exception)。如果自定义异常属于应用程序中预期会发生的情况,通常选择继承`Exception`;...
已检查异常是那些在编译期间需要显式处理的异常,例如`IOException`,而未检查异常通常是编程错误,如空指针异常`NullPointerException`,它们在运行时被抛出。 处理已检查异常时,有两种方式:一是使用`try-catch`...
如果`JAVA_HOME`设置错误或者未设置,可能会导致诸如`ClassNotFoundException`等异常,因为Java运行时环境无法找到所需的类路径。 ### 总结 Java异常处理是软件开发中不可或缺的一部分,它帮助程序员有效地处理...
在Java编程语言中,`NumberFormatException`是一个常见的运行时异常,它发生在尝试将字符串转换为特定数字类型(如`Integer`, `Double`, `Float`等)时,如果字符串不能被解析为对应类型的数值,就会抛出这个异常。...
`RuntimeException`及其子类是未检查异常,它们代表程序逻辑错误,如除以零或空指针。对于这些异常,Java编译器不要求必须有对应的`try...catch`块。然而,`IOException`是已检查异常,通常由I/O操作抛出,需要显式...
1. **避免捕获可预检查的RuntimeException**:在Java中,像NullPointerException和IndexOutOfBoundsException这样的异常可以通过预先检查来避免,而不是通过catch块处理。例如,应该在调用对象的方法前检查对象是否...
其中异常类 Exception 又分为运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。 二、异常的捕获和处理 Java ...
Java编程中的检查型异常与非检查型异常分析 Java编程中,检查型异常(Checked Exception)和非检查型异常(Unchecked Exception)是两种不同的异常类型,对于程序员来说,了解它们的区别和使用场景至关重要。本文将...
2. 检查异常( checked exception):这些异常是`Exception`类的子类,但不是`RuntimeException`的子类,如`IOException`、`SQLException`,编译器强制要求必须捕获或声明。 异常处理的最佳实践: 1. 不要忽视异常...
Java 中常见的异常类 Java 中常见的异常类可以分为多种,下面将对一些常见的异常类进行详细的介绍和分析。 1. NullPointerException(空指针异常) NullPointerException 是 Java 中最常见的异常之一。这个异常的...
- **非检查型异常**:如`NullPointerException`、`ArrayIndexOutOfBoundsException`,这些异常在运行时发生,与编程逻辑错误有关,可以不用在方法签名中声明。 3. **异常处理** Java提供了一种异常处理机制,包括...
Java中的异常处理是通过try、catch、finally以及throw关键字来实现的。try块中包含可能会抛出异常的代码,catch块用于捕获并处理特定类型的异常,finally块则无论是否发生异常都会执行,通常用于进行资源清理工作。 ...