异常和异常的处理方式

异常

1 概述

异常是一些用来封装错误信息的对象
它由异常的类型、提示信息、报错的行号提示三部分组成

2 异常的继承结构

3 异常的处理方式

当程序中遇到了异常,通常有两种处理方式:捕获或者向上抛出
当一个方法抛出异常,调用位置可以不做处理继续向上抛出,也可以捕获处理异常
大家可以结合生活中的例子:如果工作中遇到了问题,我们可以选择自己处理(捕获),或者交给上级处理

 捕获方式:

 

try-catch可以嵌套,多种异常类型需要分别处理
* 可以不嵌套,给出通用的解决方案,不需要特殊处理,
* 将所有的异常的子类类型统一看做父类Exception来处理,
* 提供通用的解决方案,这是多态的最为经典的一种用法

 抛出方式:
对于不想现在处理或者处理不了的异常可以选择向上抛出
方式:在方法上设置异常的抛出管道,即:
在可能会会发生异常的方法上添加代码:
throws 异常类型
例如:void method1 throws Exception1,Exception2,Exception3{ }
TIPS:方法上有默认的异常管道:RuntimeException

4 练习:异常测试

创建包: cn.tedu.exception
创建类: ExceptionDemo.java

package cn.tedu.exception;

import javax.jws.soap.SOAPBinding;
import java.util.Scanner;

public class ReviewException {
    public static void main(String[] args) {
        f1();
        f2();
       // f3();
    }

    private static void f3() throws Exception{
        System.out.println("请输入您要计算的第一个整数");

        int a=new Scanner(System.in).nextInt();
        System.out.println("请输入您要计算的第二个整数");
        int b=new Scanner(System.in).nextInt();
        //输入6与0,ArithmeticException: / by zero算数异常,原因除数不能为零
        //输入3与4.4,InputMismatchException:nextInt();输入不匹配异常
        System.out.println(a/b);

    }

    private static void f2() {
        try{
            f1();

        }catch( Exception e){
            System.out.println("输入正确的数据");
        }
    }

    private static void f1() {
        System.out.println("请输入您要计算的第一个整数");

        int a=new Scanner(System.in).nextInt();
        System.out.println("请输入您要计算的第二个整数");
        int b=new Scanner(System.in).nextInt();
        //输入6与0,ArithmeticException: / by zero算数异常,原因除数不能为零
        //输入3与4.4,InputMismatchException:nextInt();输入不匹配异常
        System.out.println(a/b);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值