首页 > 网站 > 建站经验 > 正文

JAVA中的异常与错误处理_详解

2019-11-02 14:48:03
字体:
来源:转载
供稿:网友

   异常与错误:

  异常:

  在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它。Java中使用异常类来表示异常,不同的异常类代表了不同的异常。但是在Java中所有的异常都有一个基类,叫做Exception。

  错误:

  它指的是一个合理的应用程序不能截获的严重的问题。大多数都是反常的情况。错误是VM的一个故障(虽然它可以是任何系统级的服务)。所以,错误是很难处理的,一般的开发人员(当然不是你)是无法处理这些错误的,比如内存溢出。 和异常一样,在Java中用错误类来表示错误,不同的错误类代表了不同的错误。 但是在Java中所有的错误都有一个基类,叫做Error。

  综上,我们可以知道异常和错误最本质的区别就是异常能被开发人员处理而错误时系统本来自带的,一般无法处理也不需要我们程序员来处理。

  1.一个异常是在一个程序执行过程中出现的一个事件,它中断了正常指令的运行

  2.错误,偏离了可接受的代码行为的一个动作或实例

  异常的结构分类:

  1、运行时异常(未检查异常)

  2、编译时异常(已检查异常)

  运行异常即是RuntimeException;其余的全部为编译异常

  在Java中异常Exception和错误Error有个共同的父类Throwable。

  Error Exception

  runtimeException几个子类

  1、 java.lang.ArrayIndexOutOfBoundsException

  数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。

  2、java.lang.ArithmeticException

  算术条件异常。譬如:整数除零等。

  3、java.lang.NullPointerException

  空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的

  属性、计算null对象的长度、使用throw语句抛出null等等

  4、java.lang.ClassNotFoundException

  找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出

  该异常。

  对异常的处理:

  try{}catch{}

  try{}catch{}finally{}无论有无异常finally代码块都会被执行

  try{}finally{}也是可以组合使用的但是catch{}finally{}不可以

  注意:在继承关系中,子类覆盖父类的方法,抛出异常的范围不能比父类更宽泛

  异常的使用

  在异常的使用这一部分主要是演示代码,都是我们平常写代码的过程中会遇到的(当然只是一小部分),抛砖引玉吗!

  例1. 这个例子主要通过两个方法对比来演示一下有了异常以后代码的执行流程。

代码如下  


public static void testException1() {

int[] ints = new int[] { 1, 2, 3, 4 };

System.out.println("异常出现前");

try {

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表