Java异常捕捉机制

本文详细介绍了Java异常捕捉机制,包括基本任务和挑战任务。通过实例代码展示了如何处理除数为0、计算绝对值、验证成绩输入和用户登录等场景下的异常,以及自定义异常的抛出和捕获。在每个任务中,都提供了运行结果,帮助读者理解异常处理的逻辑和重要性。
摘要由CSDN通过智能技术生成

Java异常捕捉机制

1、简介

异常指的是程序运行时出现的非正常情况,Java中的异常捕捉最经常使用到的是try和catch两个代码块。本博客讲解的程序是工程训练基本任务1.4中的问题,该任务我是在4月份初学Java时完成的,故定会有许多不足,若有不足之处,恳请大家指出。


2、基本任务和代码

(1)任务1

1)任务内容
完成c=a/b 的计算并输出c的结果,其中用户可以通过键盘输入a和b的数值(),要求当 b 为0时c的计算结果正确。

2)任务代码
首先需要明确的是除法运算中除数不能为0,即该计算中的b不能为0,若b=0则判断为异常;要求用户可以自行输入a和b的值则需要使用到之前的博客《使用Java实现一元二次方程求根计算器》中讲到的“应声虫”的方法;
由于浮点型变量float和double两种类型的变量在输入b=0后不会抛出异常,所以只能定义整数型变量,在定义了两个整数变量a和b后,该程序的a和b只能输入整数具体代码如下:

import java.util.Scanner;//导入java.util包下的Scanner类
public class Test1{
  //类名
    public static void main(String[] args) {
  //程序主入口函数,带命令行参数
        while(true){
  //定义死循环
            System.out.print("求c=a/b的值"+"\n");//输出标题
            Scanner in=new Scanner(System.in);//创建scanner,控制台会一直等待输入,直到敲回车结束
            System.out.print("请输入a的值:");//输出
            int a=in.nextInt();//用户可自行定义a的值
            System.out.print("请输入b的值:");//输出
            int b=in.nextInt();//用户可自行定义b的值
            try{
  //try代码块,当发生异常时会转到catch代码块中
                int c=(a/b);//定义c等于a除以b
                System.out.print("c="+c);//无异常时输出c的值
                System.out.println(" ");//格式调整
            }
            catch(ArithmeticException e){
  //当try代码块有异常时转到catch代码块
                System.out.print("输入错误,除数不能为0");//当用户输入b=0时输出异常信息
                System.out.println(" ");//格式调整
            }
        }
    }
}

3)运行结果
LICEcap截取的动图如下:
这里写图片描述

(2)任务2

1)任务内容
完成一个计算绝对值表达式 |a-b|的功能要求当b比a大时人为抛出一个自定义异常。

2)任务代码
程序中几乎每一句代码都有注释,故我直接贴代码了:

import java.util.Scanner;//导入java.util包下的Scanner类
public class
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值