课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
异常机制的使用是每一位学习Java编程开发语言的程序员都需要熟练掌握的一个编程知识点,下面我们就通过案例分析来简单了解一下,Java异常机制概念与分类。
1、什么是异常
异常是指程序在运行过程中发生的,由于外部问题导致的运行异常事件,如:文件找不到、网络连接失败、空指针、非法参数等。
异常是一个事件,它发生在程序运行期间,且中断程序的运行。
Java是一种面向对象的编程语言,它的异常都是对象,是Throwable子类的实例,当程序中存在错误条件时,且条件生成时,错误就会引发异常。
2、异常的分类
2.1、Throwable
Throwable是Java语言中所有错误与异常的顶层父类,其他类都继承于该类。Throwable包含两个子类:Error(错误)和Exception(异常),它们通常用于指示发生了异常情况。Throwable包含了其线程创建时线程执行堆栈的快照,它提供了printStackTrace()等接口用于获取堆栈跟踪数据等信息。
2.2、Error(错误)
Error类及其子类:程序中无法处理的错误,表示运行应用程序中出现了严重的错误。通常情况为下应用程序"不应该试图捕获的严重问题"。
此类错误一般表示代码运行时JVM出现问题。通常有VirtualMachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)等。比如OutOfMemoryError:内存不足错误;StackOverflowError:栈溢出错误。这些错误是不可查的,因为它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的状况。在Java中,错误通过Error的子类描述。
2.3、Exception(异常)
Exception以及它的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。Exception这种异常又分为两类:运行时异常和编译时异常。
2.3.1、运行时异常
都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。
2.3.2、非运行时异常(编译异常)
是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。