自定义异常类JAVA

该文章展示了如何在Java中创建一个自定义异常类`MyException`,该类继承自`Exception`。然后在`UseMyException`类的`throwException`方法中使用`throws`关键字声明可能会抛出的`MyException`,当特定条件不满足时(如密码不正确),会抛出这个自定义异常。

1、首先自定义异常类继承Exception类,如以下代码

public class MyException extends Exception {
    
    private String Commands;

    public MyException{
        super();
    }
    public MyException(String Commands){
        super(Commands);
        this.Commands = Commands;
    }

2.使用throws关键字在要抛出异常的函数

public class UseMyException {
    private String name;
    private String message;

    public UseMyException(String name,String message){
        this.name = name;
        this.message = message;
    }

    public void throwException(String message) throws MyException{
        if (this.message!=message){
            throw new MyException("密码不正确!");
        }
    }
}

# 求圆面积并自定义异常类Java) ## 代码概述 该问题涉及编写一个用于计算圆面积的Java程序,并且要求在输入不符合条件时,抛出自定义异常。主要功能是通过用户输入半径来求圆面积,并对负数或非数字输入进行异常处理。 ## 代码解析 以下是一个完整的实现示例: ```java import java.util.Scanner; // 自定义异常类 class InvalidRadiusException extends Exception { public InvalidRadiusException(String message) { super(message); } } public class CircleAreaCalculator { // 计算圆面积的方法 public static double calculateArea(double radius) throws InvalidRadiusException { if (radius < 0) { throw new InvalidRadiusException("半径不能为负数!"); } return Math.PI * radius * radius; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入圆的半径:"); try { double radius = Double.parseDouble(scanner.nextLine()); double area = calculateArea(radius); System.out.println("圆的面积为:" + area); } catch (NumberFormatException e) { System.out.println("输入错误:请输入有效的数字!"); } catch (InvalidRadiusException e) { System.out.println("异常发生:" + e.getMessage()); } } } ``` ### 自定义异常类(`InvalidRadiusException`): - 继承自 `Exception` 类。 - 用于在半径为负数时抛出特定错误信息。 ### 主方法(`main`): - 使用 `Scanner` 获取用户输入。 - 调用 `calculateArea` 方法。 - 捕获并处理可能发生的异常(如非法输入和负半径)。 ## 知识点详解 - **自定义异常类**:继承 `Exception` 或其子类,实现自己的异常类型,以提高程序可读性和逻辑性。 - **异常处理机制**:使用 `try-catch` 捕获和处理异常,确保程序在错误发生后依然能够稳定运行。 - **字符串转换与输入验证**:通过 `Double.parseDouble()` 将字符串转为浮点数,并检测无效输入。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值