• Java异常分类及处理


    1.Throwable是所有异常的根(java.lang.Throwable)
    2.Error是错误(java.lang.Error)

    当程序发生不可控的错误时,程序会报错,Error及其子类的对象不应被抛出。


    3.Exception是异常(java.lang.Exception)

    Exception一般分为Checked异常和Runtime异常

    所有RuntimeException类及其子类的实例被称为Runtime异常,

    不属于该范畴的异常则被称为CheckedException。

    3.1.Runtime异常

    为了保障程序的健壮性,Runtime异常都不应该被捕捉,而是之前做判断

    常见的Runtime异常

    算术异常类:ArithmeticExecption

    例:BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常如下:

    java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. at java.math.BigDecimal.divide(Unknown Source)

    解决方法:给divide设置精确的小数点divide(xxxxx,2, BigDecimal.ROUND_HALF_EVEN)

    例:当除数为0时,会抛出:java.lang.ArithmeticException : / by zero

    空指针异常类:NullPointerException

    例:对null成员做任何操作都会报这个错
    类型强制转换异常:ClassCastException
    数组负下标异常:NegativeArrayException
    数组下标越界异常:ArrayIndexOutOfBoundsException
    违背安全原则异常:SecturityException
    文件已结束异常:EOFException
    文件未找到异常:FileNotFoundException
    字符串转换为数字异常:NumberFormatException
    操作数据库异常:SQLException
    输入输出异常:IOException
    方法未找到异常:NoSuchMethodException

    3.2.CheckedException异常

    对于CheckedException异常JAVA要求程序员对其进行try catch

     例:查询数据库时需要抛出:FileNotFoundException

     例:java.lang.ThreadDeath线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。

  • 相关阅读:
    第三十一章 线程------GIL、线/近程池、异/同步、异步回调
    第三十章 网路编程------线程
    第二十八章 网络编程------Socket
    第二十七章 网络编程
    第二十六章 oop中元类、异常处理
    第二十五章 面向对象------封装、内置函数、反射、动态导入
    第二十四章 面向对象------属性
    Document 对象
    正值表达式
    BOM和DOM
  • 原文地址:https://www.cnblogs.com/corolcorona/p/6647143.html
Copyright © 2020-2023  润新知