任务要求:
自定义异常,一般会选择继承Exception和RuntimeException。在这里,完成一个 java application应用程序,完成一个计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。
程序代码:
package test10_30;
import java.util.Scanner;
class InputException extends Exception { // 自定义的类
InputException(String message) {//含异常消息的构造方法
super(message);//调用父类有参的构造方法,将异常消息作为参数
}
}
class test1_4a_tst{
static void method(int a,int b) throws InputException {//定义处理函数
int c;
if(a<b){//a<b的情况,并抛出一个异常
c=b-a;//计算绝对值
System.out.println("|"+a+"-"+b+"|"+"="+c);//输出表达式
throw new InputException("异常是a<b");//异常的信息
}
else//其他情况,计算绝对值但没有异常
{
c=b-a;//计算
System.out.println("|"+a+"-"+b+"|"+"="+c);//输出表达式
}
//提示信息
}
public static void main(String[] args){
Scanner reader=new Scanner(System.in);
System.out.println("请输入a:");//提示信息
int a=reader.nextInt();//输入a的值
System.out.println("请输入b:");//提示信息
int b=reader.nextInt();//输入b的值
try {
method(a,b);//调用绝对值计算的函数
}
catch(InputException e) {
System.out.println("抓取到异常");//输出抓取到异常的提示
System.out.println(e.getMessage());//输出该异常的信息
}
finally {
System.out.println("测试结束");//必须执行的语句
}
}
}
运行结果: