2605: 异常模拟练习
金币值:2
定数:3
时间限制:1.000 s
内存限制:128 M
正确:2
提交:4
正确率:50.00% 命题人:
题目描述
任务描述
本题任务:捕获程序的异常,输出异常处理的结果。
相关知识
为了完成本题任务,你需要掌握:1.如何捕获异常。
捕获异常
通过第一关我们知道,有一部分异常是需要程序员提前处理的,这种异常统一称为检测性异常,如果我们不处理,程序是不能编译通过的,在IDE中也会出现一条红线。这个时候我们就必须处理这段可能出现异常的程序。
如何处理呢?
Java中提供了一个捕获异常的机制:try-catch
通过这两个单词的字面意思我们就能很好的理解了:try:尝试,catch:捕获;
尝试执行代码A和代码B如果这两段代码有一个出现了异常,就会执行catch中的语句,如果代码A、B都不存在异常就不会执行catch代码,最后继续执行代码C。
所以之前报错的代码我们这样写就没错啦:
在这里我们可以发现catch捕获的是FileNotFoundException,这是一个文件未找到异常,所以我们在捕获异常的时候最好要先明确异常的种类是什么。
好奇的同学可能会有疑惑,检测性异常可以用try-catch来处理,那运行时异常可不可以用try-catch来处理呢?
可不可以呢?自己验证一下吧!
编程要求
请仔细阅读下方代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:
编辑器中的代码运行时可能会有异常,请利用本关知识处理该异常。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
提示:捕获异常需要用特定的类,下表总结了常用的异常类:
非检测型异常:
检测性异常:
测试代码
请根据提示补全代码.为防止面向答案输出,本题有多个测试数据,仅对部分数据会报WA(答案错误),且本题已设置部分提交模式,您必须提交Begin-end范围内的代码,否则会报CE(编译错误).
测试代码 复制
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
/********* Begin *********/
/********* End *********/
}
}
输入样例 复制
样例输入1:
4
2
样例输入2:
4
0
输出样例 复制
样例输出1:
2
样例输出2:
除数不能为0