java自定义异常(例:计算绝对值表达式 |a-b|,b>a时抛出一个自定义异常)

1.自定义异常

步骤:

(1)创建一个类继承于Throwable或其子类; ­
class 异常类名 extends Exception
{
    public 异常类名(String msg)
    {
        super(msg);
    }
} 
(2)添加构造方法,在一个方法中使用throws抛出异常
throws 异常类名
(3)捕获并处理异常
try{}
catch(异常类名 ){}

2.小例子

计算绝对值表达式 |a-b|。

完成一个 java application应用程序,完成一个计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。
代码如下:

import java.util.Scanner;

class jianshuException extends Exception //自定义异常类,继承Exception类
{
	public jianshuException(String msg)
	{
		super(msg);//调用父类的构造方法
	}
}
 
class Numbertest //自定义异常类
{
	public int jian(int a,int b) throws jianshuException  //b大于a时,抛出一个自定义异常
	{
		int c;
		if(b>a)  
		{
			throw new jianshuException("b大于a时,抛出一个自定义异常");//抛出异常
		}
		else
		{
			c=a-b;
		}		
		return c;
	}
}

class CalculateDemo2  //主程序
{
	public static void main(String[]args)
	{
		Scanner sc=new Scanner(System.in);//从键盘接收数据
		System.out.println("请输入a:");
		int a=sc.nextInt();  //输入a的数值
		System.out.println("请输入b:");
		int b=sc.nextInt();//输入b的数值
		Numbertest n=new Numbertest();  

		//捕获异常
		try
		{
			int c=n.jian(a,b);
			System.out.println("c=|a-b|\n"+"=|"+a+"-"+b+"|="+c);//输出c
		}
		catch(Exception e)
		{
			int c=b-a;
			System.out.println(e.getMessage());//输出异常的信息
			e.printStackTrace();  //输出导致异常更为详细的信息
			System.out.println("c=|a-b|\n"+"=|"+a+"-"+b+"|="+c);//输出c
		}
	}
}

结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42014622/article/details/82765475