JAVA入门-------OOP(异常处理)

前言

异常的类型也是分很多类型的
Throwable:异常的顶级超类,大白话就是异常类型的祖宗/鼻祖

Error:系统异常,无法修复。当出现这个类的异常时也是我们没办法解决的,主要是因为硬件问题,所以我们一般不需要去理会

Exception:可修复错误。这个异常是我们需要去解决的,出现的原因是因为我们的代码出现了逻辑类的错误

RuntimeException:运行期异常

异常处理的方法有两种:捕获异常,抛出异常
捕获异常就是简单来说就是通过手段自己查找和解决,而抛出异常就更好理解了,就是把异常抛给调用方
废话不多说!往下看!

方法一:抛出异常

在方法签名的末尾处用throws关键字+异常类型来抛出,当可能出现多种类型的异常要抛出的时候可以用 ( , )逗号隔开

	/**
     * 存在BUG的逻辑
     */
    public static void method() throws ArithmeticException,InputMismatchException{
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        System.out.println(a+"/"+b+"="+(a/b));
    }

还有一种方式就是我们可以利用多态的想法抛出超类Exception异常,这样子只要出现他的子类中的任何一种异常都可以抛出

	/**
     * 存在BUG的逻辑
     */
    public static void method() throws Exception{
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        System.out.println(a+"/"+b+"="+(a/b));
    }

方法二:捕获异常

捕获异常是最好的一种解决异常的办法也是最建议的,当然也有特定的语法

/*
	语法:
	try{
	可能出现异常的代码段
	}catch(异常的类型 e){
		解决方案,也就是出现异常以后会执行的代码段
	}
	catch可以写多个
*/
public static void method1(){
        try {
            method();
        }catch (InputMismatchException e){
            System.out.println("请输入两个整数!");
        }catch (ArithmeticException e){
            System.out.println("被除数不能为零!请输入正确的数学除法格式!");
        }catch (Exception e){//接下来在不知道还有几个异常,什么异常的时候,通用的解决方案---多态----不关心子类类型,把子类当作父类
           System.out.println("请按正确的格式输入!");
        }
}

结语

以上就是异常处理的两种官方的处理方式咯!若博主写的有什么地方不恰当的地方请评论走一波!谢谢!
技术分享,共同进步!祝我们都能在IT界找到属于自己的天空!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Cloud*

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

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

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

打赏作者

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

抵扣说明:

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

余额充值