java数组与异常处理复习题

合集下载

异常处理练习题

异常处理练习题

异常处理练习题一、选择题1.java中用来抛出异常的关键字是A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都不对3.()类是所有异常类的父类。

A、ThrowableB、ErrorC、ExceptionD、AWTError4.java语言中,下列哪一子句是异常处理的出口A、try{…}子句B、catch{…}子句C、finally{…}子句D、以上说法都不对5.下列程序的执行,说法正确的是public class MultiCatch{public static void main(String args[]){try{int a=args.length;int b=42/a;int c[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越边界异常:”+e);}}}A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是class ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越界限异常:”+e);}}public static void main(String args[]){try{procedure();int a=args.length;int b=42/a;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}}}A、程序只输出第12行的异常信息B、程序只输出第26行的异常信息C、程序将不输出异常信息D、程序将输出第12行和第26行的异常信息7.下面程序抛出了一个“异常”并捕捉它。

java异常处理练习题

java异常处理练习题

java异常处理练习题Java异常处理练习题Java是一种面向对象的编程语言,广泛应用于软件开发领域。

在Java编程中,异常处理是一个非常重要的概念。

通过合理处理异常,我们可以提高程序的可靠性和健壮性。

本文将介绍一些Java异常处理的练习题,帮助读者更好地理解和掌握异常处理的知识。

1. 编写一个程序,从命令行获取一个整数,并将其平方输出。

如果输入的不是整数,则抛出一个自定义的异常"InvalidInputException",并提示用户重新输入。

```javaimport java.util.Scanner;class InvalidInputException extends Exception {public InvalidInputException(String message) {super(message);}}public class SquareNumber {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);try {System.out.print("请输入一个整数: ");int num = scanner.nextInt();System.out.println("平方结果: " + num * num);} catch (Exception e) {scanner.nextLine(); // 清除输入缓冲区System.out.println("输入无效,请重新输入。

");main(args); // 递归调用自身,重新执行程序}}}```2. 编写一个方法,接收一个整数数组和一个整数n作为参数,返回数组中第n 个元素的值。

如果n超出数组的索引范围,则抛出一个自定义的异常"ArrayIndexOutOfBoundException",并提示用户重新输入。

java 异常处理面试题

java 异常处理面试题

java 异常处理面试题引言:在面试过程中,Java 异常处理是一个常见的话题。

面试官经常会问关于异常处理的问题,以考察面试者对Java异常处理的理解和熟悉程度。

本文将介绍几个常见的Java异常处理面试题,并提供详细答案和解析,帮助读者更好地理解Java异常处理。

第一部分:Java 异常处理的基础知识异常是指在程序运行过程中发生的错误或意外情况。

Java 异常处理机制是为了处理这些错误和异常情况,保证程序的稳定性和可靠性。

Java 异常处理采用了"抛出异常"和"捕获异常"的方式。

1. 什么是 Java 异常处理机制?Java 异常处理机制是一种用于处理程序运行过程中出现的错误或意外情况的机制。

通过抛出异常和捕获异常,程序可以识别和处理异常,避免程序崩溃或产生无法预期的结果。

2. Java 异常处理机制中的关键词有哪些?在Java中,用于处理异常的关键词包括:try、catch、finally和throw。

try用于包裹可能出现异常的代码块,catch用于捕获并处理异常,finally用于无论是否发生异常都会被执行的代码块,throw用于抛出异常。

3. Java 异常处理机制的基本原理是什么?当程序执行过程中抛出异常时,异常会被抛出到调用栈中,直到被合适的catch块捕获处理。

catch块会根据异常类型匹配相应的处理代码,并执行相应的逻辑。

如果异常没有被捕获处理,会导致程序崩溃。

第二部分:常见的 Java 异常处理面试题以下是几个常见的 Java 异常处理面试题,以及它们的答案和解析。

1. Java 中的 RuntimeException 和 Checked Exception 有什么区别?答:RuntimeException 是 Java 中的unchecked异常,无需在方法声明中使用throws关键词进行声明或捕获,如NullPointerException和ArrayIndexOutOfBoundsException等。

java异常处理试题及参考答案

java异常处理试题及参考答案

异常处理练习题一、选择题1.java中用来抛出异常的关键字是(C)A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是(A)A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都丌对3.(A)类是所有异常类的父类。

A、4.javaA、try{C、5.{{“除0}A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是(D)class ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){“数组超越界限异常:”+e);}}public static void main(String args[]){“除0}ABCD7.{{}{try{procedure();}catch(IllegalAccessExcepton e) ___________{“捕获:”+e);}}8.对于catch子句的排列,下列哪种是正确的(B )A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关9.在异常处理中,如释放资源、关闭文件、关闭数据库等由(C )来完成。

A、try子句B、catch子句C、finally子句D、throw子句10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(C )A、捕获异常B、抛出异常C、声明异常D、嵌套异常11.哪个关键字可以抛出异常?(C)JVM. int i=0;String greetings[]= {“Hello world!”,“No,I mean it!”,“HELLO WORLD!!”};while(i<4){____try________{}____catch__(ArrayIndexOutOfBoundsException e){i=-1;}finally{}i++;}}三、判断题1. ( F )程序中抛出异常时(throw …),只能抛出自己定义的异常对象。

java异常处理测试题

java异常处理测试题
数和_______
4、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_____语句捕
获并处理。
5、java语言认为那些可预料和不可预料的出错称为_________
6、按异常处理不同可以分为运行异常、捕获异常、声明异常和______几种。
7、抛出异常的程序代码可以是______或者是JDK中的某个类,还可以是JVM.
throw_______IllegalAccessException(“demo”);
}
public static void main(String args[])
{
try
{
procedure();
}
________________________
{
System.out.println(“捕获:”+e);
10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )
A、捕获异常B、抛出异常
C、声明异常D、嵌套异常
11.哪个关键字可以抛出异常?()
A、transient B、finally C、throw D、static
12.一个异常将终止( )
A、整个程序B、叧终止抛出异常的方法
C、产生异常的try块D、×上面的说法都丌对
}
}
8.对于catch子句的排列,下列哪种是正确的( )
A、父类在先,子类在后
B、子类在先,父类在后
C、有继承关系的异常不能在同一个try程序段内
D、先有子类,其他如何排列都无关
9.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。
A、try子句B、catch子句
C、finally子句D、throw子句

java 异常 练习题

java 异常 练习题

java 异常练习题Java是一种面向对象的编程语言,在软件开发中广泛应用。

异常处理是Java中一个重要的概念,可以帮助我们有效地处理错误和异常情况,提高程序的可靠性和稳定性。

本文将介绍一些Java异常的练习题,帮助读者巩固对异常处理的理解和应用。

一、简答题1. 请解释什么是Java中的异常。

异常(Exception)是在程序运行过程中发生的错误或异常情况。

通常情况下,Java程序在运行过程中会按照预定的代码逻辑进行执行,但在某些情况下,可能会出现无法继续执行的错误或特殊情况,这就是异常。

2. 请列举一些常见的Java异常类型。

常见的Java异常类型包括:ArithmeticException(算术异常)、NullPointerException(空指针异常)、ArrayIndexOutOfBoundsException(数组越界异常)、NumberFormatException(数字格式异常)、IOException(输入输出异常)等。

3. 异常处理的机制有哪些?Java中的异常处理机制主要包括:try-catch语句、throws关键字和finally块。

通过try-catch语句可以捕获并处理异常,避免程序的崩溃;throws关键字可以声明方法可能抛出的异常,由调用者进行处理;finally块中的代码无论是否出现异常都会执行,常用于资源的释放。

二、编程题请编写一个Java程序,模拟银行账户的操作过程,并处理可能出现的异常情况。

具体要求如下:1. 定义一个BankAccount类,包含以下成员变量和方法:- 成员变量:balance(double类型,表示账户余额)- 方法:deposit(double amount)(存款),withdraw(double amount)(取款)2. 在deposit方法中,通过参数amount指定要存入的金额。

如果amount小于等于0,抛出一个自定义的异常NegativeAmountException,提示用户存款金额必须大于0。

(完整word版)异常处理练习题

(完整word版)异常处理练习题

异常处理练习题一、选择题1.java中用来抛出异常的关键字是A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都不对3.()类是所有异常类的父类。

A、ThrowableB、ErrorC、ExceptionD、AWTError4.java语言中,下列哪一子句是异常处理的出口A、try{…}子句B、catch{…}子句C、finally{…}子句D、以上说法都不对5.下列程序的执行,说法正确的是public class MultiCatch{public static void main(String args[]){try{int a=args.length;int b=42/a;int c[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越边界异常:”+e);}}}A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是class ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越界限异常:”+e);}}public static void main(String args[]){try{procedure();int a=args.length;int b=42/a;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}}}A、程序只输出第12行的异常信息B、程序只输出第26行的异常信息C、程序将不输出异常信息D、程序将输出第12行和第26行的异常信息7.下面程序抛出了一个“异常”并捕捉它。

java考试题库第六章

java考试题库第六章

java考试题库第六章第六章异常和异常处理一选择题6-1.下列关于异常的描述中,错误的是(B)A.异常是一种经过修正后程序仍可执行的错误B.异常是一种程序在运行中出现的不可恢复执行的错误C.不仅Java语言有异常处理,C++语言也有异常处理D.出现异常不是简单结束程序,而是执行某种处理异常的代码,设法恢复程序的执行6-2.下列关于异常处理的描述中,错误的是(D)A.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能用当前方法中处理,不能用其他方法中处理6-3.下列关于try-catch-finally语句的描述中,错误的是(A)A.try语句后面的程序段将给出处理异常的语句B.catch()方法跟在try语句后面,它可以是一个或多个C.catch()方法有一个参数,该参数是某种异常类的对象D.finally语句后面的程序段总是被执行的,该语句起到提供统一接口的作用6-4.下列关于抛出异常的描述中,错误的是(D)A.捕捉到发生的异常可在当前方法中处理,也可以抛到调用该方法的方法中处理B.在说明要抛出异常的方法时应加关键字throw<异常列表>C.<异常列表>中可以有多个用逗号分隔的异常D.抛出异常的方法中要使用下述抛出异常语句:throw<异常名>;其中,<异常名>是异常类的类名6-5.下列关于用户创建自己的异常描述中,错误的是(D)A.创建自己的异常应先创建一个异常类B.为实现抛出异常,须在可能抛出异常的方法中书写throw语句C.捕捉异常的方法是使用try-catch-finally语句格式D.使用异常处理不会使整个系统更加安全和稳定二判断题6-1.异常是一种特殊的运行错误的对象。

(对)6-2.异常处理可以使整个系统更加安全和稳定。

(对)6-3.异常处理是在编译时进行的。

java异常处理考试

java异常处理考试

Java异常处理技术一、选择题1.请问所有的异常类皆继承哪一个类?(A)A.ng.Throwable B.ng.ExceptionC.ng.Error D.java.io.Exception2.哪个关键字可以抛出异常?(B)A.transient B.throw C.finally D.catch3.对于已经被定义过可能抛出异常的语句,在编程时(A)。

A.必须使用try/catch语句处理异常,或用throw将其抛出。

B.如果程序错误,必须使用 try/catch语句处理异常。

C.可以置之不理。

D.只能使用try/catch语句处理。

4.下面程序段的执行结果是什么?(B)public class Foo{public static void main(String[] args){try{return;}finally{System.out.println("Finally");}}}A.编译能通过,但运行时会出现一个例外。

B.程序正常运行,并输出 "Finall y"。

C.程序正常运行,但不输出任何结果。

D.因为没有catch语句块,所以不能通过编译。

5.下面是一些异常类的层次关系:ng.Exceptionng.RuntimeExceptionng.IndexOutOfBoundsExceptionng.ArrayIndexOutOfBoundsExceptionng.StringIndexOutOfBoundsException假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句处理这些异常,下面哪个答案是正确的?( A B)A.方法X 应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOf Bounds- Exception。

java 异常 练习题

java 异常 练习题

java 异常练习题Java 异常练习题Java 异常处理是每个 Java 程序员都需要掌握的重要技能之一。

异常是在程序运行过程中出现的错误或异常情况,如除零错误、空指针异常等。

在编写 Java 程序时,我们需要预测并处理可能出现的异常,以保证程序的稳定性和可靠性。

下面,我将给出一些 Java 异常练习题,帮助大家巩固和提升自己的异常处理能力。

1. 编写一个方法,接收一个整数参数,如果参数为负数,则抛出一个自定义的异常 NegativeNumberException,异常信息为"输入的数字不能为负数"。

在主方法中调用该方法,并捕获并处理异常。

2. 编写一个方法,接收两个整数参数,计算它们的商,并返回结果。

在方法中捕获并处理可能出现的除零异常,如果除数为零,则抛出一个自定义的异常DivideByZeroException,异常信息为"除数不能为零"。

在主方法中调用该方法,并捕获并处理异常。

3. 编写一个方法,接收一个字符串参数,将其转换为整数并返回。

在方法中捕获并处理可能出现的数字格式异常,如果无法转换为整数,则抛出一个自定义的异常 NumberFormatException,异常信息为"无法将字符串转换为整数"。

在主方法中调用该方法,并捕获并处理异常。

4. 编写一个方法,接收一个文件路径参数,读取文件内容并打印。

在方法中捕获并处理可能出现的文件不存在异常,如果文件不存在,则抛出一个自定义的异常 FileNotFoundException,异常信息为"文件不存在"。

在主方法中调用该方法,并捕获并处理异常。

5. 编写一个方法,接收一个整数数组参数,计算数组中所有元素的平均值并返回。

在方法中捕获并处理可能出现的数组下标越界异常,如果数组下标越界,则抛出一个自定义的异常 ArrayIndexOutOfBoundsException,异常信息为"数组下标越界"。

java异常处理试题及答案

java异常处理试题及答案

异常处理练习题一、选择题1.java中用来抛出异常的关键字是(C)A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是(A)A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都丌对3.(A)类是所有异常类的父类。

A、ThrowableB、ErrorC、ExceptionD、AWTError4.java语言中,下列哪一子句是异常处理的出口(C)A、try{…}子句B、catch{…}子句C、finally{…}子句D、以上说法都丌对5.下列程序的执行,说法错误的是(C)public class MultiCatch{public static void main(String args[]){try{int a=args.length;int b=42/a;int c[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsException e) {System.out.println(“数组超越边界异常:”+e);}}}A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是(D)class ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越界限异常:”+e);}}public static void main(String args[]){try{procedure();int a=args.length;int b=42/a;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}}}A、程序只输出第12行的异常信息B、程序只输出第26行的异常信息C、程序将不输出异常信息D、程序将输出第12行和第26行的异常信息7.下面程序抛出了一个“异常”并捕捉它。

java期末考试题及答案异常

java期末考试题及答案异常

java期末考试题及答案异常一、选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明异常?A. tryB. throwC. catchD. finally答案:B2. 下面哪个是Java中检查型异常?A. NullPointerExceptionB. IOExceptionC. OutOfMemoryErrorD. ArithmeticException答案:B3. 当一个方法声明抛出异常时,调用这个方法的代码必须如何处理这个异常?A. 忽略它B. 使用try-catch块捕获它C. 使用throws关键字再次抛出D. 以上都是答案:C4. 异常处理中,finally块的作用是什么?A. 总是执行B. 只有在try或catch块中抛出异常时执行C. 只有在try块中执行D. 只有在catch块中执行答案:A5. 在Java中,哪个类是所有异常的超类?A. ObjectB. ThrowableC. ExceptionD. Error答案:B6. 下面哪个是Java中的运行时异常?A. IOExceptionB. SQLExceptionC. RuntimeExceptionD. ClassNotFoundException答案:C7. 异常处理中,try块的作用是什么?A. 捕获异常B. 声明可能抛出的异常C. 执行可能会抛出异常的代码D. 清理资源答案:C8. 下面哪个不是Java异常处理的关键字?A. tryB. catchB. finallyD. end答案:D9. 在Java中,自定义异常通常继承哪个类?A. ExceptionB. ThrowableC. ErrorD. RuntimeException答案:A10. 下面哪个方法用于显式地抛出异常?A. throwB. throwsC. tryD. catch答案:A二、简答题(每题5分,共10分)1. 简述Java中异常处理机制的重要性。

java异常练习

java异常练习

1、自己动手编写一个数组越界的异常。

public class Test1{public static void main(String args[]){int arr[ ]=new int[5];arr[10]=7;System.out.println(“end of main() method !!”);}}编译时不会产生错误,运行时出现错误信息:Exception in thread “main” ng.ArrayIndexOutOfBoundsException at Test1.main(******) 2、在练习1的基础上,修改代码,实现如果抛出异常,就输出index out of bound!public class Test2{public static void main(String args[]){try{int arr[ ]=new int[5];arr[10]=7;}catch(ArrayIndexOutOfBoundsException e){System.out.println(“index out of bound!”);}}}注意:不写catch而直接写finally也能实现。

3、在练习2的基础上,在catch语句里实现输出异常信息。

public class Test3{public static void main(String args[]){try{int arr[ ]=new int[5];arr[10]=7;}catch(ArrayIndexOutOfBoundsException e){System.out.println(“index out of bound!”);System.out.println(“Exception=”+e);System.out.println(“Exception=”+e.getMessage()”);System.out.println(“Exception=”+e.toString()”);}}}蓝色部分均可以实现。

【VIP专享】java异常处理试题及答案

【VIP专享】java异常处理试题及答案

D、程序将输出第 15 和 19 行的异常信息
6.下列程序的执行,说法正确的是 (D) class ExMulti {
static void procedure() {
try { int c[]={1}; c[42]=99; } catch(ArrayIndexOutOfBoundsException e) {
异常处理练习题
一、选择题 1.java 中用来抛出异常的关键字是 (C) A、try B、catch C、throw D、finally
2.关于异常,下列说法正确的是 (A) A、异常是一种对象 B、一旦程序运行,异常将被创建 C、为了保证程序运行速度,要尽量避免异常控制 D、以上说法都丌对
3.(A)类是所有异常类的父类。 A、Throwable B、Error C、Exception D、AWTError
catch(ArithmeticException e) { System.out.println(“除 0 异常:”+e); }
System.out.println(“数组超越界限异常:”+e); } } public static void main(String args[]) { try
{ procedure(); int a=args.length; int b=42/a; System.out.println(“b=”+b); }
4.java 语言中,下列哪一子句是异常处理的出口 (C) A、try{…}子句 B、catch{…}子句 C、finally{…}子句 D、以上说法都丌对
5.下列程序的执行,说法错误的是 (C) public class MultiCatch {
public static void main(String args[]) { try { int a=args.length; int b=42/a; int c[]={1}; c[42]=99; System.out.println(“b=”+b); } catch(ArithmeticException e) { System.out.println(“除 0 异常:”+e); } catch(ArrayIndexOutOfBoundsException e) { System.out.println(“数组超越边界异常:”+e); } } }

java期末考试题及答案异常

java期末考试题及答案异常

java期末考试题及答案异常一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于声明异常?A. tryB. catchC. throwD. finally答案:C2. 如果一个方法声明抛出一个异常,那么这个方法的调用者必须如何处理这个异常?A. 必须捕获这个异常B. 必须声明抛出这个异常C. 可以忽略这个异常D. 以上都不是答案:B3. Java中,哪个类是所有异常类的父类?A. ObjectB. ThrowableC. ErrorD. Exception答案:B4. 下面哪个选项不是Java异常处理的关键词?A. tryB. catchC. throwD. loop答案:D5. 当一个方法中发生异常时,以下哪个块一定会被执行?A. try块B. catch块C. finally块D. 以上都不是答案:C6. 在Java中,如果一个异常没有被捕获,那么程序将会发生什么?A. 程序继续执行B. 程序会忽略这个异常C. 程序会终止D. 程序会重启答案:C7. 下面哪个选项是正确的异常处理语句?A. try { } catch { }B. try { } finally { }C. try { } catch { } finally { }D. try { } catch { } catch { }答案:C8. 在Java中,自定义异常通常是通过继承哪个类来实现的?A. ObjectB. ThrowableC. ErrorD. Exception答案:D9. 当一个方法声明抛出一个受检查的异常时,以下哪个说法是正确的?A. 调用者必须捕获这个异常B. 调用者必须声明抛出这个异常C. 调用者可以忽略这个异常D. 以上都不是答案:B10. 在Java中,以下哪个关键字用于在方法签名中声明异常?A. throwsB. throwC. tryD. catch答案:A二、填空题(每题2分,共20分)1. 在Java中,如果一个方法没有显式地声明抛出异常,那么它默认可以抛出________异常。

java异常处理题目

java异常处理题目

java异常处理题目异常处理是Java程序中的重要概念。

在程序运行过程中,可能会出现各种不可预知的异常情况,如文件不存在、数组越界、空指针等。

为了保证程序的稳定性和可靠性,我们需要编写异常处理机制来处理这些异常情况。

以下是一些关于Java异常处理的题目,让我们来逐个解答。

题目一:编写一个方法,接收一个整数数组作为参数,计算数组中所有元素的平均值,并返回结果。

如果数组为空,则抛出一个自定义的异常EmptyArrayException。

解答一:```javaclass EmptyArrayException extends Exception {public EmptyArrayException(String message) {super(message);}}public class AverageCalculator {public static double calculateAverage(int[] array) throws EmptyArrayException { if (array.length == 0) {throw new EmptyArrayException("数组为空");}int sum = 0;for (int num : array) {sum += num;}int average = sum / array.length;return average;}}```题目二:编写一个方法,接收一个文件名作为参数,读取文件内容并返回字符串。

如果文件不存在,则抛出一个FileNotFoundException异常。

解答二:```javaimport java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class FileContentReader {public static String readFileContent(String fileName) throws FileNotFoundException, IOException {BufferedReader reader = null;StringBuilder content = new StringBuilder();try {reader = new BufferedReader(new FileReader(fileName));String line;while ((line = reader.readLine()) != null) {content.append(line).append("\n");}} finally {if (reader != null) {reader.close();}}return content.toString();}}```题目三:编写一个方法,接收两个整数作为参数并返回它们的商。

异常处理流程考试试题

异常处理流程考试试题

一、选择题1.在Java中,使用哪个关键字来捕获异常?A.catch(正确答案)B.tryC.finallyD.throw2.当一个方法可能抛出多种类型的异常时,这些异常类型在方法声明中应该如何指定?A.使用逗号分隔(正确答案)B.使用分号分隔C.使用“或”符号分隔D.使用“与”符号分隔3.在异常处理中,finally块的主要目的是什么?A.捕获异常B.处理异常C.无论是否发生异常都执行代码(正确答案)D.声明可能抛出的异常4.在Java中,如果一个方法可能抛出检查型异常,那么在方法声明时应该使用哪个关键字来声明这些异常?A.catchB.throws(正确答案)C.tryD.finally5.当一个异常被抛出时,Java虚拟机(JVM)会按照什么顺序查找适当的异常处理器?A.从当前方法开始,沿着调用栈向上查找(正确答案)B.从main方法开始,沿着调用栈向下查找C.从当前方法开始,沿着调用栈向下查找D.从main方法开始,沿着调用栈向上查找6.在Java中,自定义异常类通常是从哪个类继承而来的?ng.Objectng.Throwableng.Exception(正确答案)ng.RuntimeException7.在异常处理中,使用哪个关键字可以重新抛出当前捕获的异常?A.catchB.throwsC.throw(正确答案)D.finally8.在Java中,如果一个方法内部抛出了一个未被捕获的检查型异常,那么这个方法应该如何声明?A.无需特别声明B.使用throws关键字声明可能抛出的异常(正确答案)C.使用try-catch块捕获异常D.使用finally块处理异常。

java数组与异常处理复习题

java数组与异常处理复习题

第五、六章习题一、选择题1.下列关于数组的定义形式,哪些是错误的?(ABC)A.int[ ]c=new char[10]; B.int[ ][3]=new int[2][ ];C.int[ ]a; a=new int; D.char b[ ]; b=new char[80];2.执行String[] s=new String[10];语句后,哪些结论是正确的?(BC)A.s[0] 为未定义 B.s.length 为10C.s[9] 为 null D.s[10] 为 ""3.下列关于Java语言的数组描述中,错误的是(D)。

A.数组的长度通常用length表示 B.数组下标从0开始C.数组元素是按顺序存放在内存的 D.数组在赋初值和赋值时都不判界4.下面的表达式哪些是正确的? (ACE)A.String s="你好";int i=3; s+=i;B.String s="你好";int i=3; if(i==s){ s+=i};C.String s="你好";int i=3; s=i+s;D.String s="你好";int i=3; s=i+;E. String s=null; int i=(s!=null)&&(s.length()>0)?s.length():0;5.public class T18 {static int arr[] = new int[10];public static void main(String a[]) {System.out.println(arr[1]);}}哪个语句是正确的?(C)A.编译时将产生错误 B.编译时正确,运行时将产生错误C.输出零 D.输出空6.若String s = "hello"; String t = "hello"; char c[] = {'h','e', 'l','l','o'} ; 则下列哪些表达式返回true?(AB)7.指出正确的表达式有(AB)。

练习10 Java异常处理练习题

练习10 Java异常处理练习题

Java异常处理练习题[] 选择题:1.问:如下哪些异常类的定义是合法的?A:class MyException implments Throwable {}B:public class MyException extends Exception {}C:public class MyException implements Exception {}D:public class MyException extends RuntimeException {} E:以上定义都不是答:2.问:下列哪些方法定义是合法的A:void a() throw Exception, IOException {}B:public void a() Throws IOException, Exception {}C:public void a() throws Exception, Error {}D:public void a() Throw String, Exception {}E:public void a() throws Object, Exception {}F:以上定义都合法。

答:3.给定代码:package com.ibm.oa.business;import java.io.*;public class Info{public void show() throws IOException, SQLException{---------------------------------------}}问:在划线部分,如下哪个语句是合法的?A:throws new Exception;B:throws new Exception(“Error”);C:throw new RemoteException(“Error”);E:throws IOException(“Error”);F:throw new BatchUpdateException();G:以上定义都不合法。

java异常处理练习题

java异常处理练习题

一、填空题1、计算机程序错误分为(语法错误)、(运行错误)和逻辑错误。

2、(Error)类及子类表示受检查异常,(Exception)类及子类表示不受检查异常。

3、自定义异常,需要利用extends继承(Exception)类。

二、选择题1、下面(C)语言提供了异常处理机制。

A、C语言B、C++语言C、Java语言D、Basic语言2、下面(C)不是异常情况。

A、数组下标越界B、死循环C、文件不能打开D、对象类型不匹配3、如果不希望方法来捕捉异常,采用(AB)关键字可以把该方法产生的异常抛出。

A、throwB、throwsC、gotoD、 break三、简答题1、什么是异常,它的作用有哪些。

异常是指应用程序在运行过程中发生的不正常现象,或发生的错误。

异常是程序运行中一些红正常的错误,它中断正在执行程序的正常指令流。

2、受检查异常与运行时异常的区别。

受检异常是严重的系统错误产生的异常对象,应用程序通常无法捕获,如系统资源耗尽、动态链接失败和线程死锁等原因造成的程序中断。

错误处理一般交由操作系统处理,程序本身不提供错误处理机制。

通常从采取退出运行,应用程序不需要也无法对错误对象进行监视和处理。

运行时异常是不受检异常,可以不编写异常处理的程序代码,依然可以成功编译,因为它是在程序运行时才有可能产生。

这类异常可能出现在程序的任何部分,而且数量很大,为了不淹没程序,通常应用程序不需要对不受检异常对象进行监视,可以通过java编译器的检查。

四、编程题1、定义一个方法,该方法能够捕捉文件打开异常、数组下标越界异常,抛出除数为0异常。

import java.io.IOException;import java.util.Scanner;public abstract class Text {public static void main(String[] args) throws IOException {int a;int m=100;System.out.println("input a number:");Scanner scanner;scanner=new Scanner(System.in);try{a=scanner.nextInt();System.out.println("a:"+a);double b=m/a;System.out.println("b=100/a="+b);}catch(Exception e){System.out.println("/by zero");}System.out.println("success");// TODO自动生成的方法存根}}import java.io.IOException;import java.util.Scanner;public abstract class Text {public static void main(String[] args) throws IOException { int[] a={5,0,4,10,25,20};int m=100;for (int i=0;i<a.length;i++)try{System.out.println("a:"+a[i]);double b=m/a[i];System.out.println("b=100/a="+b);}catch(ArrayIndexOutOfBoundsException e){System.out.println("out of");}catch(Exception e){System.out.println("/by zero");}System.out.println("success");// TODO自动生成的方法存根}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五、六章习题一、选择题1.下列关于数组的定义形式,哪些是错误的?(ABC)A.int[ ]c=new char[10]; B.int[ ][3]=new int[2][ ];C.int[ ]a; a=new int; D.char b[ ]; b=new char[80];2.执行String[] s=new String[10];语句后,哪些结论是正确的?(BC)A.s[0] 为未定义 B.s.length 为10C.s[9] 为 null D.s[10] 为 ""3.下列关于Java语言的数组描述中,错误的是(D)。

A.数组的长度通常用length表示 B.数组下标从0开始C.数组元素是按顺序存放在内存的 D.数组在赋初值和赋值时都不判界4.下面的表达式哪些是正确的? (ACE)A.String s="你好";int i=3; s+=i;B.String s="你好";int i=3; if(i==s){ s+=i};C.String s="你好";int i=3; s=i+s;D.String s="你好";int i=3; s=i+;E. String s=null; int i=(s!=null)&&(s.length()>0)?s.length():0;5.public class T18 {static int arr[] = new int[10];public static void main(String a[]) {System.out.println(arr[1]);}}哪个语句是正确的?(C)A.编译时将产生错误 B.编译时正确,运行时将产生错误C.输出零 D.输出空6.若String s = "hello"; String t = "hello"; char c[] = {'h','e', 'l','l','o'} ; 则下列哪些表达式返回true?(AB)7.指出正确的表达式有(AB)。

A.double a=2.0; B.Double a=new Double(2.0);C.byte A= 350; D.Byte a = 120;8.System类在哪个包中?(B)A.java.awt B.ng C.java.util D.java.io9.关于Float,下列说法正确的是(ACD)。

A.Float在ng包中 B.Float a=1.0是正确的赋值方法C.Float是一个类 D.Float a= new Float(1.0)是正确的赋值方法10.ava中用来抛出异常的关键字是AA.tryB.catchC.throwD.finally11.关于异常,下列说法正确的是AA.异常是一种对象B.一旦程序运行,异常将被创建C.为了保证程序运行速度,要尽量避免异常控制D.以上说法都不对12.(C)类是所有异常类的父类。

A.ThrowableB.ErrorC.ExceptionD.AWTError13.java语言中,下列哪一子句是异常处理的出口AA.try{…}子句B.catch{…}子句C.finally{…}子句D.以上说法都不对14.下列程序的执行,说法正确的是Dclass MultiCatch{public static void main(String args[]){try{int a=args.length;int b=42/a;int c[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越边界异常:”+e); }}}A.程序将输出第15行的异常信息B.程序第10行出错C.程序将输出“b=42”D.程序将输出第19行的异常信息15.下列程序的执行,说法正确的是Dclass ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越界限异常:”+e);}}public static void main(String args[]){try{procedure();int a=args.length;int b=42/a;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}}}A.程序只输出第12行的异常信息B.程序只输出第26行的异常信息C.程序将不输出异常信息D.程序将输出第12行和第26行的异常信息16.下面程序抛出了一个“异常”并捕捉它。

请在横线处填入适当内容完成程序。

class TrowsDemo{static void procedure() throws IllegalAccessExcepton{System.out.println(“inside procedure”);throw___new____IllegalAccessException(“demo”);}public static void main(String args[]){try{procedure();}____catch(IllegalAccessException e){System.out.println(“捕获:”+e);}}二、填空题1.catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与___抛出异常____对象的类进行匹配。

2.java虚拟机能自动处理____运行___异常。

3.变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参数和___异常处理参数____同一段程序可能产生不止一种异常。

可以放置多个_______子句,其中每一种异常类型都将被检查,第一个与之匹配的就会被执行。

4.捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__f inally____语句捕获并处理。

5.java语言认为那些可预料和不可预料的出错称为____异常_____6.按异常处理不同可以分为运行异常、捕获异常、声明异常和__抛出异常_ ___几种。

7.抛出异常的程序代码可以是____java应用程序____或者是JDK中的某个类,还可以是JVN.8.抛出异常、生成异常对象都可以通过___throw______语句实现。

9.捕获异常的统一出口通过____finally_____语句实现。

10.java语言的类库中提供了一个____Throwable______类,所有的异常都必须是它的实例或它子类的实例。

11.Throwable类有两个子类:_____Error_____类和Exception类。

12.对程序语言而言,一般有编译错误和______运行______错误两类。

13.下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。

请在横线处填入适当的内容完成程序。

public class HelloWorld{int i=0;String greetings[]={“Hello world!”,“No,I mean it!”,“HELLO WORLD!!”};while(i<4){______try______}System.out.println(greeting[i]);}_________catch________(ArrayIndexOutOfBoundsException e){System.out.println(“Re-setting Index Value”);i=-1;finally{System.out.println(“This is always printed”);}i++;}}}三、判断题1.String str="abcdefghi"; char chr=str.charAt(9); (×)2.char[] chrArray={ 'a', 'b', 'c', 'd', 'e', 'f', 'g'}; char c hr=chrArray[6]; (√)3.int i,j; boolean booleanValue=(i==j); (× )4.int intArray[]={0,2,4,6,8}; int length=int Array.length();(×)5.String str="abcedf"; int length=str.length; (×)6.int[] intArray[60]; (×)7.char[] str="abcdefgh"; (×)8.说明或声明数组时不分配内存大小,创建数组时分配内存大小。

(√)9.Integer i = (Integer.valueOf("926")).intValue();(√)10.String s = (Double.valueOf("3.1415926")).toString(); (√)11.Integer I = Integer.parseInt("926");(√)12.Arrays类主要对数组进行操作。

(√)四、程序分析题1.分析下面的程序,写出运行结果。

public class Exercises5_1 {String str = new String("Hi !");char[] ch = { 'L', 'i', 'k', 'e' };public static void main(String args[]) {Exercises5_1 ex = new Exercises5_1();ex.change(ex.str, ex.ch);System.out.print(ex.str + " ");System.out.print(ex.ch);}public void change(String str, char ch[]) {str = "How are you";ch[1] = 'u';}}运行结果是:( Hi ! Luke )2. 分析下面的程序,写出运行结果:public class Exercises5_3 {public static void main(String args[]) {String str1 = new String();String str2 = new String("String 2");char chars[] = { 'a', ' ', 's', 't', 'r', 'i', 'n', 'g' };String str3 = new String(chars);String str4 = new String(chars, 2, 6);byte bytes[] = { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39 };String str5 = new String(bytes);StringBuffer strb = new StringBuffer(str3);System.out.println("The String str1 is " + str1);System.out.println("The String str2 is " + str2);System.out.println("The String str3 is " + str3);System.out.println("The String str4 is " + str4);System.out.println("The String str5 is " + str5);System.out.println("The String strb is " + strb);}}运行结果是:()The String str1 isThe String str2 is String 2The String str3 is a stringThe String str4 is stringThe String str5 is 0123456789The String strb is a string五、改错题1.找出下面代码的错误部分,说明错误类型及原因,并更正。

相关文档
最新文档