java异常处理

本文详细介绍了Java异常处理机制,包括算数异常和数组异常的处理,异常处理的try-catch-finally结构,异常体系结构,以及如何通过try…catch方式处理不同类型的异常。此外,还探讨了在面试中常见的异常处理问题,如try-catch-finally的使用规则,return语句与finally的关系等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常案例

1.演示一个算数异常

1.逗比除法计算机

package com.kkb;

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner input =new Scanner(System.in);
        System.out.println("欢迎来到逗比除法计算器");
        System.out.println("请输入被除数:");
        int x =input.nextInt();
        System.out.println("请输入除数:");
        int y =input.nextInt();
        int z =x/y;
        System.out.println("计算结果:"+z);
    }
}

演示效果 一:正常使用计算机

演示效果二:使用时出现异常

 2.处理异常

package com.kkb;

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner input =new Scanner(System.in);
        System.out.println("欢迎来到逗比除法计算器");
        System.out.println("请输入被除数:");
        int x =input.nextInt();
        System.out.println("请输入除数:");
        int y =input.nextInt();
        while (y==0){
            System.out.println("除数不能为0,请重新输入");
            y =input.nextInt();
        }
        int z =x/y;
        System.out.println("计算结果:"+z);
    }
}

演示处理异常之后的效果

 

2. 演示一个数组异常

 1.遍历一个数组

package com.kkb;

public class Demo02 {
    public static void main(String[] args) {
        int[] arr = {100,200,300,400,500};
        for (int i =0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}

遍历结果 

2.数组下标越界:ArrayIndexOutOfBoundsException

package com.kkb;

public class Demo02 {
    public static void main(String[] args) {
        int[] arr = {100,200,300,400,500};
        arr = new int[]{100,200,300,400};
        for (int i =0;i<5;i++){
            System.out.println(arr[i]);
        }
        System.out.println("嘿嘿");
    }
}

异常效果演示 

 报错ArrayIndexOutOfBoundsException(数组下标越界),且嘿嘿,没有出现

3.解决数组下标越界

package com.kkb;

public class Demo02 {
    public static void main(String[] args) {
        int[] arr = {100,200,300,400,500};
        arr = new int[]{100,200,300,400};
        for (int i =0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println("嘿嘿");
    }
}

 演示运行效果

 案例总结:一旦产生了异常之后,异常之后的语句将不再执行了。所以现在的程序并没有正确的执行完毕之后就退出了。那么,为了保证程序出现异常之后,仍然可以正确的执行完毕,我们需要采用一套异常的处理机制。

 异常处理机制

1.处理异常(try+catch+finally)

异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。

如果要想对异常进行处理,则必须采用标准的处理格式,处理格式语法如下:

try{

// 有可能发生异常的代码段

}catch(异常类型1 对象名1){

// 异常的处理操作

}catch(异常类型2 对象名2){

// 异常的处理操作

} ...

finally{

// 异常的统一出口,无论是否发生异常,finally里的代码都会作为try catch语句块最后的收尾代码。

}

1.try&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值