Java面向对象 - Java中的异常(笔记+Educoder代码参考)
第1关:Java 中的异常处理机制1、在Java中,源文件Test.java中包含如下代码段,则程序编译运行结果是( B )> public class HelloWorld{>public static void main(String[] args){>System.out.print(“HelloWorld!”);>} }A、输出:HelloWorld!B、编译出错,
第1关:Java 中的异常处理机制
1、在Java中,源文件Test.java中包含如下代码段,则程序编译运行结果是( B )
> public class HelloWorld{
> public static void main(String[] args){
> System.out.print(“HelloWorld!”);
> } }
A、输出:HelloWorld!
B、编译出错,提示“公有类HelloWorld必须在HelloWorld.java文件中定义”
C、运行正常,但没有输出内容
D、运行时出现异常
2、下列关于检测性异常和非检测性异常正确的是(ACE)
A、IOException及其子类(FileNotFoundException等),都属于检测型异常
B、检测型异常不需要程序员来处理
C、运行时异常可以处理,也可以不处理,是可选的
D、错误也属于异常的一种
E、所有的异常类是从 java.lang.Exception 类继承的子类
3、关于下列代码,说法正确的是(D)
public static void main(String[] args){
int num1 = 10;
int num2 = 0;
System.out.println(num1/num2);
}
A、输出0
B、编译报错,提示除数不能为0
C、输出无穷大
D、运行时报错,提示除数不能为0
第2关:捕获异常
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:
编辑器中的代码运行时可能会有异常,请利用本关知识处理该异常。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
输入:
4
2
输出:
2
输入:
4
0
输出:
除数不能为0
代码如下:
package step2;
import java.util.Scanner;
public class Task {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
/********* Begin *********/
try{ //尝试
System.out.println(num1/num2);
}catch(ArithmeticException e){ //捕获
System.out.println("除数不能为0");
}
System.out.println(num1/num2);
/********* End *********/
}
}
第3关:抛出异常
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:
异常的抛出和处理。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
预期输出:该文件不存在。
开始你的任务吧,祝你成功!
package step3;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Task {
/********* Begin *********/
//请在合适的部位添加代码
public static void main(String[] args) throws FileNotFoundException {
test();
}
public static void test () throws FileNotFoundException{
File file = new File("abc");
if(!file.exists()){ //判断文件是否存在
//文件不存在,则 抛出 文件不存在异常
throw new FileNotFoundException("该文件不存在");
}else{
FileInputStream fs = new FileInputStream(file);
}
}
/********* End *********/
}
第4关:自定义异常
编程要求
请仔细阅读右侧代码,根据方法内的提示,在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");
}
else{
System.out.println("用户名格式正确");
}
}
}
class MyException extends Exception{
public MyException(String msg){
super(msg);
}
}
/********* End *********/
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)