本文章的答案仅供参考
选择题
1.C
2.C
解答:finally是最后处理的语句,所以涉及到释放资源,文件的关闭
3.AC
解答:throws在方法上自动抛出异常,throw指手动抛出异常,故第一条语句应该写为throws,第三条语句该写为throw。
4.CD
解答:Exception–异常,SexException–性别异常,NullPointerException–控指针异常,InputMismatchException–输入类型错误,ArithmeticException–算术异常,ArrayIndexOutOfBoundsException–数组下标超出异常,ClassNotFoundException–类没有找到异常,ClassCastException–类型转换错误
5.B
简答题
1.Error和Exception的区别:
答:
- Error指的是JVM上的错误,而不是代码本身的错误,且表示虚拟机已经处于崩溃的阶段;
- Exception指的是代码的错误,存在两个子类:CheckedException和UncheckedException
2.checked和runtime异常的区别
答:checked指的是编译时存在的错误,但是runtime异常指的是运行时的错误。
3.在java处理异常时,关键字的throw、try、catch、finally、throw分别代表的是什么意思?
答:
关键字 | 解析 |
---|---|
try | 尝试什么数据 |
catch | 对相应的异常进行处理 |
thorws | 在方法上抛出异常 |
throw | 手动抛出异常 |
finally | 最后执行,无论是否存在return |
4.throws 和 throw的区别
答:throws指的是在方法上抛出异常,自动抛出异常;但是throw指的是手动的抛出异常,存在实例化的对象。
编码题
1.输入用户的分数信息
public class AverageStudent {
public static void main(String ags[]){
Scanner s = new Scanner(System.in);
int num = s.nextInt();
int sum=0;
for(int i=1;i <= num; i++){
int temp = s.nextInt();
try {
if (temp < 0) throw new Exception("输入的数据必须为正数或者0");
} catch (Exception e) {
e.printStackTrace();
}
sum+=temp;
}
System.out.println("平均分为:"+sum/num);
}
}
2.判断是否可以形成一个三角形
public class Triangle {
public static void main(String args[]){
Scanner s = new Scanner(System.in);
try {
int a=s.nextInt(),b=s.nextInt(),c=s.nextInt();
if(a+b>c || b+c>a || a+c>b) System.out.println("a="+a+"b="+b+"c="+c);
else throw new IllegalArgumentException("abc不可以构成三角形");
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
}
}
3.计算学生平均成绩
class check extends Exception{
public check(){}
public check(String name){
super(name);
}
}
public class score {
public static void main(String ags[]){
Scanner s = new Scanner(System.in);
try {
int num = s.nextInt();
if(num<0 || num>100)
throw new check("分数必须在0~100之间");
} catch (Exception e) {
e.printStackTrace();
}
}
}