`
jackroomage
  • 浏览: 1215147 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

java异常分类

 
阅读更多

Java中异常的分类

所有异常,都继承自java.lang.Throwable类。

Throwable有两个直接子类,Error类和Exception类。

Exception

Exception则可使从任何标准Java库的类方法,自己的方法以及运行时任何异常中抛出来的基类型。

异常可分为执行异常(RuntimeException)和检查异常(Checked Exceptions)两种

RuntimeException

RuntimeException在默认情况下会得到自动处理。所以通常用不着捕获RuntimeException,但在自己的封装里,也许仍然要选择抛出一部分RuntimeException

RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需throws子句中进行声明。(java api

它是uncheckedExcepiton

1、Java.lang.ArithmeticException

        int i=3,j=0;
        j=i/j;
        System.out.println(j);

 

2、Java.lang.ArrayStoreExcetpion

         Object x[] = new String[3];
         x[0] = 5;

 

3、Java.lang.ClassCastException

          Object obj=9;
          String a = (String)obj;

http://www.blogjava.net/flyingis/archive/2005/12/18/24514.html

 

Java.lang.EnumConstantNotPresentException

Java.lang.IllegalArgumentException

       Java.lang.IllegalThreadStateException

       Java.lang.NumberFormatException

         String str="a";
         int strob=8;
         strob=Integer.parseInt(str);

 

Java.lang.IllegalMonitorStateException

Java.lang.IllegalStateException

Java.lang.IndexOutOfBoundsException

       Java.lang.ArrayIndexOutOfBoundsException

       Java.lang.StringIndexOutOfBoundsException

Java.lang.NegativeArraySizeException’

Java.lang.NullPointerException

Java.lang.SecurityException

Java.lang.TypeNotPresentException

Java.lang.UnsupprotedOperationException

CheckedException

除了runtimeException以外的异常,都属于checkedException,它们都在java.lang库内部定义。Java编译器要求程序必须捕获或声明抛出这种异常。

一个方法必须通过throws语句在方法的声明部分说明它可能抛出但并未捕获的所有checkedException

Java.lang.ClassNotFoundException

Java.lang.CloneNotSupportedException

Java.lang.IllegalAccessException

Java.lang.InterruptedException

Java.lang.NoSuchFieldException

Java.lang.NoSuchMetodException

Error

当程序发生不可控这种错误时,通常的做法是通知用户并中止程序的执行。

与异常不同的是Error及其子类的对象不应被抛出。

Error Throwable 的子类,代表编译时间和系统错误,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个正规的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。

在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件。

它是uncheckedExcepiton

分享到:
评论

相关推荐

    java 异常详解,java异常分类,创建自己的异常

    Java 异常详解 Java 异常是指在程序运行中出现的违背指定正常流向的事件。异常可以分为两大类:-checked 异常和 unchecked 异常。Checked 异常必须在编译时捕捉并处理,而 unchecked 异常可以在编译时忽略,但是在...

    java 异常种类总结【转】.docx

    Java 异常种类总结 Java 异常种类总结是指在 Java 编程语言中,各种可能发生的异常类型的总结。这些异常可能会在编程过程中出现,并且可能会导致程序的崩溃或中断。了解这些异常种类可以帮助开发者更好地处理和解决...

    java异常分类.pdf

    标题《Java异常分类.pdf》表明本文档旨在介绍Java编程语言中异常的分类。异常是程序在运行时出现的非正常情况,它会打断正常的程序流程。在Java中,所有的异常都是通过Java异常类体系来处理的。根据异常在Java中的...

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

    1、异常分类:按照异常的类型和严重性,分类处理不同的异常。 2、异常处理逻辑:设计合适的异常处理逻辑,尽量恢复程序的正常运行。 3、异常记录:记录异常的信息,以便后续的分析和 debug。 4、异常测试:对异常...

    java异常机制小结

    Java 对异常的处理是按异常分类处理的,不同异常有不同的分类,每种异常都对应一个类型(class),每个异常都对应一个异常(类的)对象。 二、Java 异常的分类 Java 中的异常可以分为两大类:Error 和 Exception。...

Global site tag (gtag.js) - Google Analytics