第4关:自定义异常
任务描述
本关任务:定义和使用自定义异常。
相关知识
为了完成本关任务,你需要掌握:
1.为什么要自定义异常;
2.怎么使用自定义异常。
自定义异常
前面谈到的都是系统自带的异常,但是如果我们是在开发一个复杂项目,就经常会遇到系统自带的异常不能满足我们的需求的情况,所以这个时候就需要我们自己来定义异常了。
使用自定义常
我们一般使用继承Exception类的方式来自定义异常,那具体怎么进行呢?
很简单,我们只需要继承Exception,再将信息传递给父类就可以了:
自定义异常
前面谈到的都是系统自带的异常,但是如果我们是在开发一个复杂项目,就经常会遇到系统自带的异常不能满足我们的需求的情况,所以这个时候就需要我们自己来定义异常了。
使用自义异常
我们一般使用继承Exception类的方式来自定义异常,那具体怎么进行呢?
很简单,我们只需要继承Exception,再将信息传递给父类就可以了:
自定义异常
前面谈到的都是系统自带的异常,但是如果我们是在开发一个复杂项目,就经常会遇到系统自带的异常不能满足我们的需求的情况,所以这个时候就需要我们自己来定义异常了。
使用自定常
我们一般使用继承Exception类的方式来自定义异常,那具体怎么进行呢?
很简单,我们只需要继承Exception,再将信息传递给父类就可以了:
class 自定义异常名 extends Exception{
//因为Exception已经实现了很多异常处理的方法了属性了,
//所以自定义异常只需要将信息传递给父类(使用super关键字)即可
}
一个简单的自定义异常:
输出:我是自定义异常
这样就实现了一个自定义异常的定义和使用啦。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:
定义一个自定义异常,判断用户名是否小于三位,如果用户名小于三位,就抛出一个自定义异常。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
输入:
admin
输出:
用户名格式正确
输入:
ab
输出:
Exception in thread "main" step4.MyException: 用户名小于三位Exception at step4.Task.main(Task.java:13)
注意:因为抛出异常时会显示行号,请在13行抛出异常,否则评测可能不通过。
开始你的任务吧,祝你成功!
package step4;
import java.util.Scanner;
public class Task {
/********* Begin *********/
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("用户名小于三位Exception");
}
System.out.println("用户名格式正确");
}
}
class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
/********* End *********/
有任何问题都可以随时关注私信!