zoukankan      html  css  js  c++  java
  • Java学习笔记之——异常处理

    1.异常:

    在程序运行时,发生了一些错误导致程序不能正常结束或者中断

    2.异常导致的后果

    Java程序的执行过程中如果出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息,并将其被提交给Java运行时系统,这个过程称为抛出异常,不处理的话会直接导致程序中断。

    3. 异常的分类

    1)分类根据继承关系:

    Throwable(Java语言中所有错误或异常的超类)

    Throwable下面有两个直接子类:

    a.  Error:系统性的相关问题,如jvm

    b.  Exception:程序相关问题

    Exception的子类之一:RuntimeException(运行时异常)

    2)根据是否必须处理分类

    a. 受查异常:在编译阶段必须处理掉的错误

    Exception本身

    Exception除了RuntimeException以外的所有子类

    这些异常,跟程序相关,但通常是外界因素造成的,比如你要访问一个文件,第一次访问了,第二次访问的时候被人删除了,你就找不到文件链接

     

    b. 非受查异常:编译时不报错,运行时报错,即不需要通过异常机制处理就可以编译通过

    Error:无能为力

    RuntimeException及其子类:通常是由于自己代码的问题,应该调整代码,如空指针、数组越界

     

    4. 处理异常的方式

    五个关键字:try-catch-final-throws-throw

    (1) 捕获:try-catch

    try{

    放的是一些可能会出现错误的代码

    }catch(捕获到的异常){

    当你捕获之后执行的代码

    }finally{

    不管怎么样都会执行的代码

    }

    (2) 抛出:throws、throw

    在当前方法中不处理异常,让调用者处理。

    调用者可以继续抛出或者处理掉

     

    5.产生异常的两种方式

    1)程序自行判断

    2)程序员自己抛出的,通过throw 异常对象

    6.补充

    (1).自定义异常,继承与Eexception

     

    (2)Exception的子类:

    IOException   

    FileNotFindException 文件没有找到异常    

    RuntimeException(运行时异常)

    NullPointerException 空指针异常

    ArraysOutOfBoundsException  数组越界

    ArithMeticException  数学异常

    InrerRuptedException  

    (3).在抛出多个异常的时候

     

    3.在try-catch 多个异常的时候,代码是不是有一定的要求

    a)父类的异常后捕获,子类的异常先捕获

     

    b.处理多个异常

     

  • 相关阅读:
    入门指引之永久素材
    入门指引之上传临时素材
    入门指引之查看accesstoken
    java中的左移 右移
    病狗问题
    leetcode 几何题 位运算 面试编程
    CNN网络参数
    python学习整理
    JAVA问题整理
    计算机网络整理
  • 原文地址:https://www.cnblogs.com/wrf-hsj/p/10109904.html
Copyright © 2011-2022 走看看