Java复习打卡day11

异常处理

在Java中有一个父类Throwable,它的作用是将java运行过程中出现的问题抛出来。
他有两个直接子类,Error和Exception。
Error是指JVM运行出现了错误,是无法用代码解决的,应当尽量避免;
而Exception是程序中的错误,可以调试解决,一般采用try…catch 处理。

在这里插入图片描述

Exception类下分两类异常:(如上图所示)受检异常,非受检异常。
	1.受检异常
		当程序发生受检异常的时候,有问题的代码部分会飘红(就是出现红色
		的波浪线);
	2.非受检异常(RuntimeException)
		当程序发生非受检异常时,程序会直接在控制台上抛出错误名称,程序中
		断。
请看下面的代码:
public static int parseInt1(String a,String b) throws NumberFormatException
这里面出现了一个异常NumberFormatException,代码里,我们见这个异常抛出来了
,却没有使用try catch,这是因为它是RuntimeException的子类。这里大家要记住,
只要是RuntimeException的子类,就表示在出现异常的时候,可以直接抛出。

try catch

先看代码:

//这里创建一个可以计算两个数的商的代码,短短的几行代码,出现了很多bug
//这里针对其中的一个格式输入异常来介绍try catch的使用
import java.util.InputMismatchException;
import java.util.Scanner;

public class Num {
   
    public void menu(){
   
        Scanner input = new Scanner(System.in);
        try {
   
            System.out.println("请输入第一个数字:");
            int a = input.nextInt();
            System.out.println("请输入第二个数字:");
            int b = input.nextInt();
            int quotient = divide(a, b);
            System.out.println(quotient);
        }catch(InputMismatchException e){
   
            System.out.println("你输入的数据有误,请重新输入!");
            menu();
        }
    }
    public int divide(int x, int y){
   
        return x/y;
    }
}
//这里创建一个对象来调用上面的类
public class Demo1 {
   
    public static void main(String[] args) {
   
        Num num = new Num();
        num.menu();
    }
}

finally

在try catch处理格式中还有一个finally语句,它作为程序的最终出口,不管是否
发生了异常都会执行。
	除非电脑卡机,断电他不会执行,否则他一定执行。
	他唯一的一个代码导致的不执行的情况如下:
public class Throw {
   
    public static 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值