zoukankan      html  css  js  c++  java
  • Java基础:执行时异常和非执行时异常

    1.Java异常机制

    Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为全部异常的超类。

    Java中的异常分为两大类:错误Error和异常Exception。Java异常体系结构例如以下图所看到的:


    2.Throwable

    Throwable类是全部异常或错误的超类,它有两个子类:Error和Exception,分别表示错误和异常。当中异常Exception分为执行时异常(RuntimeException)和非执行时异常,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)


    2.1.Error

    通常是指java虚拟机相关的问题,如系统崩溃、虚拟机出错误、动态链接失败等。这样的错误无法恢复或不可能捕获,将导致应用程序中断。通常应用程序无法处理这些错误,因此应用程序不应该捕获Error对象,也无须在其throws子句中声明该方法抛出不论什么Error或其子类。

     


    2.2.Exception

    类型1:执行时异常

    1、  RuntimeException类及其子类

    2、  也称为不检查异常,即编译器不检測,而是执行时由Java语句抛出

    3、  出现执行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。

    4、  如不对执行时异常进行处理,那么出现异常之后。要么线程中止。要么主程序终止。

    5、  举例:

    ArrayStoreException:试图将错误类型的对象存储到一个对象数组时抛出的异常

    ClassCastException:试图将对象强制转换为不是实例的子类时,抛出该异常

    IllegalArgumentException:抛出的异常表明向方法传递了一个不合法或不对的參数

    IndexOutOfBoundsException:数组等排序索引超出范围时抛出

    NoSuchElementException:表明枚举中没有很多其它的元素

    NullPointerException:当应用程序试图在须要对象的地方使用 null 时。抛出该异常

     

    类型2:非执行时异常

    1、RuntimeException以外的异常

    2、也称为受检查异常,编译器要求我们必须处理。否则不能编译通过

    3、举例:

    IOException

    SQLException

    用户自己定义异常


    转自: http://www.tuicool.com/articles/YVZBNfN


  • 相关阅读:
    HBase api
    使用memcached缓存 替代solr中的LRUCache缓存
    Solrj
    在Solr中配置中文分词IKAnalyzer
    (转载)怎样让自己内心强大起来?
    (转载)Linux一句话精彩
    (转载)C++创建对象的两种方法
    (转载)puremvc框架之proxy
    (转载)AS3领航系列教程 之 AS3程序的入口
    (转载)Flash Number 数据类型
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7205873.html
Copyright © 2011-2022 走看看