ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

[Java 07] 异常处理 2021.11.09

2021-11-09 23:31:07  阅读:141  来源: 互联网

标签:2021.11 07 MyException 09 detail catch new 异常 throw


Java异常处理


Java把异常当作对象来处理,基于java.lang.Throwable作为超类

分为 Error 和Exception, exception有runtime和非runtime异常。

1. 异常处理机制

抛出异常---捕获异常

快捷 键:直接包裹代码块 Ctrl + Alt + T

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

try{
    //监控的代码块
}catch(XXXException e){//想要捕获的异常类型
    //捕获异常后的操作
}finally{
    //处理善后工作
}

catch可以写多个,把权限最大的异常写到最后,

//catch 处理:
catch(Exception e){
    System.exit(1);//程序结束
    e.printStackTrace();//打印错误栈信息
}

主动抛出异常(throw和throws的区别,一个在方法中,一个在方法声明中使用

//直接抛出异常,没法处理
if (b ==0){
    throw new ArithmeicException();//throw,然后new一个异常
}
//向上给方法,方法抛出异常,在调用方法时进行try catch 包装处理。
public void test(int a, int b) throws ArithmeticException{
    if (b ==0){
    throw new ArithmeicException();//throw,然后new一个异常
}
}

2. 自定义异常

public class MyException extends Exception{
    private int detail;

    public MyException(int detail) {
        this.detail = detail;
    }

    @Override
    public String toString() {
        return "MyException{" +
                "detail=" + detail +
                '}';
    }
}
//后面调用时
catch(MyException e){
    System.out.println(e)//e就是自己写的toString方法里的东西
}

标签:2021.11,07,MyException,09,detail,catch,new,异常,throw
来源: https://www.cnblogs.com/Roy2048/p/15531500.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有