JAVA基础(try…catch异常处理)

1,try…catch…finally简单异常处理

  • try  …. catch 处理了之后后面的程序可以继续进行。

public class Demo2_Exception {

    /**

     * * A:异常处理的两种方式

            * a:try…catch…finally

                * try catch

                * try catch finally

                * try finally

            * b:throws

        * B:try...catch处理异常的基本格式

            * try…catch…finally

        * C:案例演示

            * try...catch的方式处理1个异常

        try:用来检测异常的

        catch:用来捕获异常的

        finally:释放资源

        世界上最真情的相依就是你在try我在catch,无论你发神马脾气,我都静静接受,默默处理

        当通过trycatch将问题处理了,程序会继续执行

     */

    public static void main(String[] args) {

        Demo2 d = new Demo2();

        try{

            int x = d.div(10, 0);

            System.out.println(x);

        }catch(ArithmeticException a) {        //ArithmeticException a = new ArithmeticException();

            System.out.println("出错了,除数为零了");

        }

        try  …. catch 处理了之后后面的程序可以继续进行。

        System.out.println("1111111111111111");

    }

}





class Demo2 {

    /*

     * 除法运算

     */

    public int div(int a,int b) {        //a = 10,b = 0

        return a / b;                    // 10 / 0  被除数是10,除数是0当除数是0的时候违背了算数运算法则,抛出异常

                                        //new ArithmeticException("/ by zero");

    }

}

2,try...catch的方式处理多个异常

  • JDK7以后处理多个异常的方式及注意事项

public class Demo3_Exception {

    /**

     * * A:案例演示

     * try...catch的方式处理多个异常

     * JDK7以后处理多个异常的方式及注意事项

     *

     * 安卓,客户端开发,如何处理异常?try{}catch(Exception e){}

     * ee,服务端开发,一般都是底层开发,从底层向上抛

     *

     * try后面如果跟多个catch,那么小的异常放前面,大的异常放后面,根据多态的原理,如果大的放前面,就会将所有的子类对象接收

     * 后面的catch就没有意义了

     */

    public static void main(String[] args) {

        //demo1();

        int a = 10;

        int b = 0;

        int[] arr = {11,22,33,44,55};

        

        //JDK7如何处理多个异常

        try {

            System.out.println(a / b);

            System.out.println(arr[10]);

        } catch (ArithmeticException | ArrayIndexOutOfBoundsException e) {

            System.out.println("出错了");

        }

    }





    public static void demo1() {

        int a = 10;

        int b = 0;

        int[] arr = {11,22,33,44,55};

        

        try {

            System.out.println(a / b);

            System.out.println(arr[10]);

            arr = null;

            System.out.println(arr[0]);

        } catch (ArithmeticException e) {

            System.out.println("除数不能为零");

        } catch (ArrayIndexOutOfBoundsException e) {

            System.out.println("索引越界了");

        } catch (Exception e) {                //Exception e = new NullPointerException();

            System.out.println("出错了");

        }

        System.out.println("over");

    }

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java 中,异常是指在程序运行期间发生的错误或异常情况,可以通过 try-catch 块来处理异常。try 块用于包含可能引发异常的代码,而 catch 块用于捕获并处理 try 块中发生的异常。 以下是 try-catch 块的基本语法: ```java try { // 可能引发异常的代码 } catch (ExceptionType1 e1) { // 处理 ExceptionType1 异常 } catch (ExceptionType2 e2) { // 处理 ExceptionType2 异常 } finally { // 最后一定会执行的代码 } ``` 在 try 块中,我们可以编写可能会引发异常的代码。如果在 try 块中发生异常,Java 会抛出对应类型的异常对象,并将其传递给 catch 块。在 catch 块中,我们可以根据异常类型来处理异常,例如输出错误信息或者进行一些特定的操作。 catch 块可以有多个,每个块可以捕获不同类型的异常,这样我们可以针对不同的异常类型进行不同的处理。在 catch 块中,我们可以使用异常对象的方法来获取异常信息,例如 getMessage() 方法可以获取异常的详细信息。 finally 块包含一些无论是否发生异常都必须执行的代码。在 finally 块中,我们通常会释放资源或进行清理工作,例如关闭文件或数据库连接等。 下面是一个例子,演示了如何使用 try-catch 块处理异常: ```java try { // 可能引发异常的代码 int a = 10 / 0; } catch (ArithmeticException e) { // 处理 ArithmeticException 异常 System.out.println("发生了算术异常:" + e.getMessage()); } finally { // 最后一定会执行的代码 System.out.println("程序结束"); } ``` 在上面的例子中,我们尝试将 10 除以 0,这是一个不合法的操作,会引发 ArithmeticException 异常。在 catch 块中,我们使用 getMessage() 方法获取异常信息,并输出错误消息。无论是否发生异常,finally 块中的代码都会执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值