`
langgufu
  • 浏览: 2307294 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中检查的异常与未检查的异常(转)

阅读更多
Java代码 
  1. public class ExceptionTypeTest {  
  2.     public void doSomething()throws ArithmeticException{  
  3.         System.out.println();  
  4.     }  
  5.     public static void main(){  
  6.         ExceptionTypeTest ett = new ExceptionTypeTest();  
  7.         ett.doSomething();  
  8.     }  
  9. }  


问题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捕获 
        注意,对于检查的异常必须处理,或者必须捕获或者必须抛出

分享到:
评论

相关推荐

    深入理解java异常(异常中的Error+异常中的Exception+检查异常+运行时异常+异常处理+throws关键字等)

    Exception 是 Java 异常机制中的另一个基类,分为检查异常和运行时异常两种。检查异常是编译器在编译时强制要求处理的异常,例如 IO 操作、ClassNotFoundException、线程操作等。运行时异常是编译器不强制要求处理的...

    Java中常见异常类型及分析.pdf

    ### Java中常见异常类型及分析 #### 一、概述 在Java编程中,异常处理是一项重要的技术,它有助于开发者在程序运行过程中及时发现并处理错误,确保程序的稳定性和健壮性。Java语言中提供了丰富的异常处理机制,...

    Java中常用异常列表.pdf

    Java中常用异常列表 异常是Java程序中的一种错误处理机制,用于捕获和处理运行时错误。在Java中,异常可以分为两大类:checked异常和unchecked异常。checked异常是编译器强制检查的异常,unchecked异常是运行时异常...

    java 异常框架CODE

    Java中的异常分为检查型异常(Checked Exceptions)和运行时异常(Unchecked Exceptions)。检查型异常通常是程序设计问题或外部条件导致的,如文件不存在或网络连接失败,这些异常在编译时就需要处理。运行时异常则...

    java基础第七章内部类与异常类.doc

    Exception 类是所有异常类的父类,而 RuntimeException 类是所有非检查异常的父类。我们可以通过继承这些类来创建自己的异常类,从而实现自定义的异常处理机制。 在 Java 中,我们可以使用 finally 语句来释放资源...

    java内存机制及异常处理

    5. **Native Method Stack(本地方法栈)**:与Java栈类似,但用于支持Java的本地接口(JNI)调用,即C/C++等本地方法的调用。 Java的垃圾回收机制采用分代收集算法,将堆分为年轻代(包括Eden和两个Survivor区)和...

    JAVA中常见的异常

    ### JAVA中常见的异常知识点详解 #### 一、`java.lang.NullPointerException` 在Java编程中,`java.lang.NullPointerException`(简称NPE)是最常见的异常之一。这种异常通常发生在尝试访问一个空对象引用的方法或...

    Java自定义异常源代码

    `Exception`是所有检查型异常(checked exception)的基类,而`RuntimeException`及其子类则代表未检查型异常(unchecked exception)。如果自定义异常属于应用程序中预期会发生的情况,通常选择继承`Exception`;...

    java学习之Java异常.ppt

    已检查异常是那些在编译期间需要显式处理的异常,例如`IOException`,而未检查异常通常是编程错误,如空指针异常`NullPointerException`,它们在运行时被抛出。 处理已检查异常时,有两种方式:一是使用`try-catch`...

    java异常 各种异常

    如果`JAVA_HOME`设置错误或者未设置,可能会导致诸如`ClassNotFoundException`等异常,因为Java运行时环境无法找到所需的类路径。 ### 总结 Java异常处理是软件开发中不可或缺的一部分,它帮助程序员有效地处理...

    java 数字格式转换异常(NumberFornatException)

    在Java编程语言中,`NumberFormatException`是一个常见的运行时异常,它发生在尝试将字符串转换为特定数字类型(如`Integer`, `Double`, `Float`等)时,如果字符串不能被解析为对应类型的数值,就会抛出这个异常。...

    JAVA中异常处理的WORD文档

    `RuntimeException`及其子类是未检查异常,它们代表程序逻辑错误,如除以零或空指针。对于这些异常,Java编译器不要求必须有对应的`try...catch`块。然而,`IOException`是已检查异常,通常由I/O操作抛出,需要显式...

    java开发异常处理与日志规范

    1. **避免捕获可预检查的RuntimeException**:在Java中,像NullPointerException和IndexOutOfBoundsException这样的异常可以通过预先检查来避免,而不是通过catch块处理。例如,应该在调用对象的方法前检查对象是否...

    高效的java异常处理框架高效的java异常处理框架高效的java异常处理框架

    其中异常类 Exception 又分为运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。 二、异常的捕获和处理 Java ...

    Java编程中的检查型异常与非检查型异常分析

    Java编程中的检查型异常与非检查型异常分析 Java编程中,检查型异常(Checked Exception)和非检查型异常(Unchecked Exception)是两种不同的异常类型,对于程序员来说,了解它们的区别和使用场景至关重要。本文将...

    java异常 异常的概念 应用

    2. 检查异常( checked exception):这些异常是`Exception`类的子类,但不是`RuntimeException`的子类,如`IOException`、`SQLException`,编译器强制要求必须捕获或声明。 异常处理的最佳实践: 1. 不要忽视异常...

    java中常见的异常类

    Java 中常见的异常类 Java 中常见的异常类可以分为多种,下面将对一些常见的异常类进行详细的介绍和分析。 1. NullPointerException(空指针异常) NullPointerException 是 Java 中最常见的异常之一。这个异常的...

    Java异常学习资料

    - **非检查型异常**:如`NullPointerException`、`ArrayIndexOutOfBoundsException`,这些异常在运行时发生,与编程逻辑错误有关,可以不用在方法签名中声明。 3. **异常处理** Java提供了一种异常处理机制,包括...

    JAVA实验九异常处理.pdf

    Java中的异常处理是通过try、catch、finally以及throw关键字来实现的。try块中包含可能会抛出异常的代码,catch块用于捕获并处理特定类型的异常,finally块则无论是否发生异常都会执行,通常用于进行资源清理工作。 ...

Global site tag (gtag.js) - Google Analytics