异常和抛出异常

  什么是异常,Java提供异常处理机制,有什么用

  • 什么是异常:程序执行过程中的不正常情况。
  • 异常的作用:增强程序的健壮性
复制代码
public class ExceptionTest01 {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        // 实际上JVM在执行到此处的时候,会new异常对象:new ArithmeticException("/ by zero");
        // 并且JVM将new的异常对象抛出,打印输出信息到控制台了。
        int c = a / b;
        System.out.println(a + "/" + b + "=" + c);

        // 此处运行也会创建一个:ArithmeticException类型的异常对象。
        System.out.println(100 / 0);
    }
}
复制代码

  Java语言中异常是以什么形式存在的呐

复制代码
public class ExceptionTest02 {
    public static void main(String[] args) {
        // 通过“异常类”实例化“异常对象”
        NumberFormatException nfe = new NumberFormatException("数字格式化异常!");
        
        // java.lang.NumberFormatException: 数字格式化异常!
        System.out.println(nfe);
    }
}
复制代码

如果要读文件

打开文件

判断文件大小

分配足够的内存

把文件读入内存

关闭文件

异常

有不寻常的事情发生了

当这个事情发生的时候,原本打算要接着做的事情不能在继续了,必须得要停下来,让其他地方的某段代码来处理

 异常机制最大的好处就是清晰的分开了正常的业务逻辑代码和遇到情况的处理代码

 

 

抛出异常

异常的传播

当某个方法抛出了异常时,如果当前方法没有捕获异常,异常就会被抛到上层调用方法,直到遇到某个try ... catch被捕获为止:

复制代码
// exception
public class Main {
    public static void main(String[] args) {
        try {
            process1();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    static void process1() {
        process2();
    }

    static void process2() {
        Integer.parseInt(null); // 会抛出NumberFormatException
    }
}
复制代码

异常声明

如果你的函数可能抛出异常,就必须在函数,

头部加以声明

 

你可以声明并不会真的抛出的异常

什么能扔?

任何继承了Throwable

Exception类继承了Throwable

thow new Exception

thow new Exception("HELP")

 

 


posted @   zj勇敢飞,xx永相随  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示