zoukankan      html  css  js  c++  java
  • Java零基础入门之常用工具

    Java异常

    什么是异常?

    在程序运行过程中,意外发生的情况,背离我们程序本身的意图的表现,都可以理解为异常。

    throwable是所有异常的根类,异常分为两种异常exception和error

    Error是程序中无法处理的错误,表示应用程序中比较严重的问题,分别有虚拟机错误(VirtualMachineError)内存溢出(OutOfMemoryError)线程死锁(ThreadDeath);

    Exception是程序本身可以处理的异常。异常处理通常指针对这种异常的处理。

    Exception异常由分为两种:非检查异常和检查异常

    非检查异常:RuntimeException  包括空指针异常(NullPointerException)、数组下标越界异常(ArrayIndexOfBoundsException)、算数异常(ArithmeticException)、类型转换异常(ClassCastException)等,这类异常产生频率较高,产生时可以由程序处理或者抛给(throw)jvm处理,例如上面的例子就是抛给了jvm处理,jvm把程序中断执行,并把错误信息输出到终端上。

    检查异常:IO异常(IOException)、SQL异常(SQLException)等,此类异常必须由程序员手动处理,否则不通过编译。

    如何处理异常?

    抛出异常---捕获异常--处理异常

    捕获异常:对于运行时异常、错误或可查异常,Java技术所要求的异常处理方式有所不同

    通过五个关键字来实现:try、catch、finally、throw、throws

    ——try-catch-finally

    try块捕获异常,catch用于处理try捕获到的异常,finally无关是否捕获到异常处理,异常代码总能执行

    语法要求:组合使用,try块后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块

    return关键字在异常处理中的使用  作用:终止当前运行

    ——throw

    ——throws

    可以通过throws声明将要抛出何种类型的异常,通过throw将产生的异常抛出;

    如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常;

    throws语句用在方法定义时声明该方法要抛出的异常类型;当方法抛出异常列表中的异常时,方法将不对这些类型及其子类类型的异常作处理,而调用该方法的方法,由他去处理

    ——自定义异常

    使用Java内置的异常类可以描述在编程出现的大部分异常情况;

    也可以通过自定义异常描述特定业务产生的异常类型;

    所谓自定义异常,就是定义一个类,去继承Throwable类或者它的子类

    ——异常链

    有时候我们会捕获一个异常后再抛出另一个异常;

    顾名思义就是:将异常发生的原因一个串一个串起来,即把底层的异常信息传给上层,这样逐层抛出。

    关于方法重写时throws的注意事项

    当子类重写父类抛出异常的方法时,声明的异常必须是父类方法所声明的异常的同类或子类;

  • 相关阅读:
    TCP全局同步
    pytest框架之fixture详细使用
    库操作和表操作
    封装之如何隐藏对象及封装的意义
    类的抽象
    组合
    在子类中重用父类的方法和属性
    类的继承和实现原理
    类的使用,对象的使用
    互联网协议的五层协议详解
  • 原文地址:https://www.cnblogs.com/scar1et/p/10993096.html
Copyright © 2011-2022 走看看