• Java异常


    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。

    比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。

    异常发生的原因有很多,通常包含以下几大类:

    • 用户输入了非法数据。
    • 要打开的文件不存在。
    • 网络通信时连接中断,或者JVM内存溢出。

    这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。

    在Java编译过程中,会出现输入未按照规定输入的情况,需要警告用户输入错误。

    异常就是可预测但是又没办法消除的一种错误。所以在编写过程中,为了在程序当中不发生这样的错误,就会将容易发生异常的代码用try catch进行处理,或者通过throws将异常向上抛出,由上一级进行接收并处理。
    如果发生异常而不去处理,会导致程序中断,也就是程序无法继续运行。

    异常的产生:

      异常是程序之中导致程序中断的一种指令流,异常一旦出现并且没有进行合理处理的话,那么程序就将中断执行。 编译器不会给你这方面的提示。异常的出现是程序运行到此处的时候才产生的。所以,在编写的时候并不会给你提醒错误,而是在运行的时候才会出现。

     异常的类型:

      一般来说,异常分为可检测异常和非检测异常。

     

    • 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
    • 运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
    • 错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

      在Java中常见的异常有:  

        算术异常类:ArithmeticExecption

        空指针异常类:NullPointerException

        类型强制转换异常:ClassCastException

        数组负下标异常:NegativeArrayException

        数组下标越界异常:ArrayIndexOutOfBoundsException

        违背安全原则异常:SecturityException

        文件已结束异常:EOFException

        文件未找到异常:FileNotFoundException

        字符串转换为数字异常:NumberFormatException

        操作数据库异常:SQLException

        输入输出异常:IOException

    自定义异常:

      自定义异常就是Java本身不包含的异常类型,需要程序员在编写的时候自己去定义。

      这是有异常但是不提醒的情况。可以根据自定义异常来解决这个问题。

      自定义异常一般这样来定义

      class  自定义异常类  extends  异常类型(Exception){

        // 因为父类已经把异常信息的操作都完成了,所在子类只要在构造时,将异常信息传递给父类通过super 语句即可。

        // 重写 有参 和 无参 构造方法

       }

    自我抑郁又自我救赎
  • 相关阅读:
    语言基础
    进制转换
    ado属性扩展
    ado数据模型和数据访问类,泛型集合
    完整的修改和删除
    完整的删除
    修改
    类库
    接口
    抽象类
  • 原文地址:https://www.cnblogs.com/zjm15511858030/p/9949160.html
Copyright © 2020-2023  润新知