首页 > 其他 > 详细

Error异常

时间:2021-03-02 14:41:43      阅读:12      评论:0      收藏:0      [点我收藏+]

异常

检查性异常

最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单的忽略。

运行时异常

运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

错误

错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就产生了,他们在编译也检查不到的。


异常体系结构:Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。

技术分享图片

Error一般是发生在虚拟机生成并抛出

Exception分支中有一个很重要的子类RuntimeException运行时异常,一般是程序逻辑错误引起的。

运行时异常主要有:

  • ArrayIndexOutOfBoundsException(数组下标越界)

  • NullPointerException(空指针异常)

  • ArithmeticException(算数异常)

  • MissingResourceException(丢失资源)

  • ClassNotFoundException(找不到类)

  • 等异常


技术分享图片


捕获和抛出异常

  • 抛出异常
  • 捕获异常

关键字try ,catch,finally,throw,throws

try{
    //监控区域
}catch(Throwable e){
    //捕获异常
    e.printStackTrace//打印栈信息
}catch(){
    //可以层层捕获异常,要捕获多个异常,需要从小到大
}finally{
    //处理善后工作
}//trycatch是需要的,finally可以不需要

Idea快捷键:Ctrl+Alt+T, alt+enter


public void test(int a,int b){
    if(b==0){//throw throws
        throw new ArithmeticException();//主动的抛出异常,一般在方法中使用
    }
}

public void test(int a,int b) throws ArithmeticException{
    if(b==0){}
}

自定义异常

public class MyException extends Exception{
    //传递数字>10
    private int detail;
    
    public MyException(int a){
        this.detail = a;
    }
    
    //toString:异常的打印信息
    @override
    public String toString(){
        return "MyException{"+detail+"}"
    }
}

技术分享图片

Error异常

原文:https://www.cnblogs.com/Fruitwalking/p/14468183.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!