Java基础编程题目——自定义异常类型,用户名长度小于3时抛出异常

使用继承 Exception 类的方式来自定义异常,只需要继承 Exception,再将信息传递给父类就可以了:

import java.util.Scanner;

public class Task {
    public static void main(String[] args) throws MyException {
        Scanner sc = new Scanner(System.in);
        String username = sc.next();
        if (username.length() < 3) {
            throw new MyException("用户名小于三位");
        }
        else
            System.out.println("用户名格式正确");
    }
}

class MyException extends Exception {
    private static final long serialVerdionUID = 1L;
    public MyException() {
    }
    public MyException(String msg) {
        super(msg);
    }
}
### 回答1: 可以定义一个名为UsernameTooShortException的自定义异常类,当用户名小于三位,抛出该异常。实现代码如下: ``` public class UsernameTooShortException extends Exception { public UsernameTooShortException(String message) { super(message); } } ``` 在判断用户名,如果长度小于三位,就抛出该异常: ``` public void checkUsername(String username) throws UsernameTooShortException { if (username.length() < 3) { throw new UsernameTooShortException("用户名长度不能小于三位"); } } ``` 使用,可以在try-catch块中捕获该异常: ``` try { checkUsername("ab"); } catch (UsernameTooShortException e) { e.printStackTrace(); } ``` ### 回答2: 自定义异常Java编程语言中提供的一种异常,可以根据自身需要定义一种异常类型自定义异常需要继承自Exception或RuntimeException,它们分别表示可检查异常和不检查异常。 在判断用户名是否小于三位的情况下,我们可以自定义一个名为UsernameLengthException的异常: ``` public class UsernameLengthException extends RuntimeException { public UsernameLengthException(String message) { super(message); } } ``` 这个异常继承自RuntimeException,表示它是一个不检查异常。它包含一个构造函数,用于初始化message字段,提示发生了什么错误。 接下来,在判断用户名的地方,调用这个异常: ``` if (username.length() < 3) { throw new UsernameLengthException("用户名必须大于等于三位"); } ``` 以上代码判断用户名长度是否小于3,如果小于3,就抛出一个UsernameLengthException异常,并传入一个提示信息作为构造函数的参数。 当这个异常被抛出,程序将停止执行,并且在控制台输出错误信息。 在使用自定义异常,需要注意一下几点: 1. 继承Exception或RuntimeException。 2. 编写构造函数,用于传递错误信息。 3. 在需要抛出异常的地方调用它。 4. 在发生异常的地方捕获异常并处理。 ### 回答3: 在Java程序中,自定义异常可以通过继承Exception类来实现。定义一个自定义的异常类通常包括以下几个步骤: 1.创建一个类并继承Exception类。 2.重写Exception类中的构造方法,可以在构造方法中添加异常信息。 3.在程序中抛出自定义异常。 例如,我们可以定义一个叫做UserNameException的异常类,该类继承Exception类。如下所示: ``` public class UserNameException extends Exception { public UserNameException(){ super("用户名不得小于三位!"); } } ``` 在上述代码中,我们定义了一个叫做UserNameException的异常类,并重写了Exception的构造方法。在构造方法中,我们添加了“用户名不得小于三位!”这个异常信息。 接下来,我们可以在程序中使用这个异常类。例如,在判断用户名是否小于三位候,如果小于三位,就抛出这个自定义异常。 ``` public static void checkUserName(String userName) throws UserNameException{ if(userName.length() < 3){ throw new UserNameException(); }else{ System.out.println("用户名合法!"); } } ``` 在上述代码中,我们定义了一个名为checkUserName的方法。如果该方法的参数userName的长度小于三位,就抛出自定义异常UserNameException。否则,就输出“用户名合法!”。 在实际开发中,我们可以在代码中通过try-catch语句来捕获这个自定义异常。 ``` public static void main(String[] args){ try{ checkUserName("aa"); }catch(UserNameException e){ System.out.println(e.getMessage()); } } ``` 在上述代码中,我们调用了checkUserName方法,并给其传入一个长度为2的字符串“aa”。由于“aa”小于三位,该方法会抛出自定义异常UserNameException。在程序中,我们通过try-catch语句来捕获这个自定义异常,并输出其中的异常信息“用户名不得小于三位!”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伶回合

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值