Exception

 

Java异常处理机制

Java异常处理机制可以让程序具有极好的容错性,让程序更加健壮,当程序运行出现意外情形时,系统会自动生成一个Exception对象来通知程序,从而实现将"业务功能实现代码"和"错误处理代码"分离,提供更好的可读性

异常的继承体系:

 java把所有的非正常的情况分为两种:异常(Exception)和错误(Error),他们都继承Throwable父类


    其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常,
    这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)
    和检查异常(Checked Exception)。下面将详细讲述这些异常之间的区别与联系:

    1、Error与Exception

    Error一般指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断

    Exception是程序本身可以处理的异常,这种异常分两大类运行时异常和非运行时异常。
    程序中应当尽可能去处理这些异常。

    2、运行时异常和非运行时异常

    运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,
    这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,
    程序应该从逻辑角度尽可能避免这类异常的发生。

    非运行时异常是RuntimeException以外的异常,类型上都属于Exception类及其子类。
    从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。
    如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。

常见的异常:

   IndexOutOfBoundsException:数组越界异常

   NumberFormatException:数字格式异常

   ArithmeticException:语法异常

  NullPointerException:空指针异常

原文地址:https://www.cnblogs.com/roxy/p/8079535.html