【java】异常

异常的种类

异常:程序运行时出现的错误。
编译期:通过javac命令.java转成.class,例如拼写。
而运行时是指程序已经编译通过得到class文件了,再由JVM执行过程中出现的错误。

1.算术异常(除以0)

        int a=10;
        int b=0;
        System.out.println(a/b);

在这里插入图片描述

2.数组下标越界异常

int[] a={
   1,2,3};
 System.out.println(a[100]);

在这里插入图片描述

3.空指针异常

  int[] a=null;
        System.out.println(a.length);

在这里插入图片描述

防御编程“未言胜先言败”

错误在代码中是客观存在的. 因此我们要让程序出现问题的时候及时通知程序猿. 我们有两种主要的体现形式
LBYL: Look Before You Leap. 在操作之前就做充分的检查.如果上一部失败就不执行了
EAFP: It’s Easier to Ask Forgiveness than Permission. “事后获取原谅比事前获取许可更容易”.逻辑简单清楚,把正确的逻辑和错误处理逻辑区分开来

异常的使用

捕获异常

try:可能出现的异常的语句
catch:用来处理异常的代码,如果没有异常,则不执行catch中的代码。try和catch通常搭配使用
finally:异常处理完的善后工作
其中catch和finally可以根据情况选择是否加

try{
   
有可能出现异常的语句 ;
}[catch (异常类型 异常对象【定义一个异常的变量,用来接收try中抛出的异常对象】) {
   
} ... ]
[finally {
   
异常的出口
}
1.不处理异常

如果代码出现异常,没有使用异常处理机制,就会有jvm终止程序运行

        int[] a=null;
        System.out.println(a[0]);
        System.out.println("hello");

在这里插入图片描述

2.使用try catch之后
   try {
   
            int[] a=null;
            System.out.println(a[0]);

        }catch(NullPointerException e){
   
            System.out.println("catch中的代码");
        }
        System.out.println("hello");

在这里插入图片描述

2. 1 try-catch的执行顺序

try中没有出现异常,catch不执行

 try {
   
            System.out.println("try中异常之前的代码");
            int[] a={
   1,2};
            System.out.println
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值