精华内容
下载资源
问答
  • java异常习题

    2020-05-18 21:09:09
    1 选择下列代码中的异常属于(多选)( AD) A. 非检查型异常 B. 检查型异常 C. Error D. Exception 2 类及其子类所表示的异常是用户程序无法处理的(C ) A. NumberFormatException B. Exception C. Error D. ...

    练习一、
    1 选择下列代码中的异常属于(多选)( AD)
    在这里插入图片描述
    A. 非检查型异常
    B. 检查型异常
    C. Error
    D. Exception

    2 类及其子类所表示的异常是用户程序无法处理的(C )
    A. NumberFormatException
    B. Exception
    C. Error
    D. RuntimeException

    3 数组下标越界,则发生异常,提示为(D )
    A. IOException
    B. ArithmeticException
    C. SQLException
    D. ArrayIndexOutOfBoundsException

    5运行下列代码,当输入的num值为a时,系统会输出(B )
    在这里插入图片描述
    A one three end
    B. two three end
    C. one two three end
    D. two end

    运行下列代码,输出结果为(B )
    在这里插入图片描述
    A. a = 0
    B. a = 0
    除数不允许为0
    C. a = 1
    数组越界
    D. a = 0
    除数不允许为0
    数组越界

    6 下列关于异常的描述,错误的是(多选)(BD )
    A. printStackTrace()用来跟踪异常事件发生时执行堆栈的内容
    B. catch块中可以出现同类型异常
    C. 一个try块可以包含多个catch块
    D. 捕获到异常后将输出所有catch语句块的内容

    7假设要输入的id值为a101,name值为Tom,程序的执行结果为(C )
    在这里插入图片描述
    A. id=a101
    name=Tom
    B. id=a101
    name=Tom
    输入结束
    C.【输入数据不合规范。Try again】
    D.【输入数据不合规范。Try again】
    输入结束
    java.util.InputMismatchException…
    8 下列代码的运行结果为(D )
    在这里插入图片描述
    A. 1
    B. 10
    C. 20
    D. 30

    9 在下列代码划线处不可以填入选项中的哪一个异常类型(D )
    在这里插入图片描述
    A. Throwable
    B. Exception
    C. InputMismatchException
    D. ArithmeticException

    10 假设有自定义异常类MyException,那么抛出该异常的语句正确的是(B)
    A. throw new Exception( )
    B. throw new MyException()
    C. throw MyException
    D. throws Exception

    展开全文
  • Tasks:1.usetheextendskeywordtocreateacustomexceptionclassMyException.2.createasecondexceptionclassMySpecialExceptionwhichisasubclassofMyException.3.createaclassExceptionT...Tasks:1.use the extends key...

    Tasks:1.usetheextendskeywordtocreateacustomexceptionclassMyException.2.createasecondexceptionclassMySpecialExceptionwhichisasubclassofMyException.3.createaclassExceptionT...

    Tasks:

    1.use the extends keyword to create a custom exception class MyException.

    2.create a second exception class MySpecialException which is a subclass of MyException.

    3.create a class ExceptionTest.

    a. The class has two methods testMException() and testMSException(). The method testMException prints a message “MyException is thrown” and throws MyException. The method testMSException prints a message “MySpecialException is thrown” and throws MySpecialException..

    b. In the main() method of the class, the two methods testMException() and testMSException() are invoked. testMException() and testMSException() are put

    into two different try-catch blocks. For each method, first MySpecialException is caught and then MyException is caught and then a finally clause is used at the end of all the exception handlers. In the catch clause to catch MySpecialException, a message “MySpecialException is caught” is printed. In the catch clause to catch MyException, a message “MyException is caught” is printed. In the finally clause, a message “Here is finally clause” is printed.

    c. After finally clause, print a message “This is the end of main() method”.

    4.run the program, observe the result and make clear why such a result is produced.

    5.modify the program, move the two methods testMException() and testMSException() into one try-catch block and remove the redundant try-catch block. Please compare the result with the former result and understand why such a result is produced.

    展开

    展开全文
  • 异常Key Point* 异常的概念和分类* 异常的产生和传递* 异常的处理* 自定义异常练习1. 填空Java 中所有的错误都继承自throwable...2. 查api,填空异常java.rmi.AlreadyBoundException,从分类上说,该类属于已检查...

    异常

    Key Point

    * 异常的概念和分类

    * 异常的产生和传递

    * 异常的处理

    * 自定义异常

    练习

    1. 填空

    Java 中所有的错误都继承自throwable类;在该类的子类中,

    Error类表示严重的底层错误,对于这类错误一般处理的方式是不要求我们对其处理

    Exception类表示例外、异常。

    2. 查api,填空

    异常类java.rmi.AlreadyBoundException,从分类上说,该类属于已检查(已检查|

    未检查)异常,从处理方式上说,对这种异常 必须处理,进行声明抛出或异常捕获;

    异常类java.util.regex.PatternSyntaxException,从分类上说,该类属于未检查(已检

    查|未检查)异常,从处理方式上说,对这种异常不作处理。

    3. (异常的产生)把下面代码补充完整

    public class TestThrow{

    public static void main(String args[]){

    throwException(10);

    }

    public static void throwException(int n){

    if (n == 0){

    //抛出一个NullPointerException

    throw new

    NullPointerException();}else{

    //抛出一个ClassCastException

    //并设定详细信息为“类型转换出错”

    throw new

    ClassCastException("类型转换出错");}

    }

    }

    4. (try-catch-finally)有如下代码:

    import java.io.*;

    import java.sql.*;

    class TestException{

    public static void main(String args[]){

    System.out.println(“main 1”);

    int n;

    //读入n

    ma(n);

    System.out.println(“main2”);

    }

    public static void ma(int n){

    try{

    System.out.println(“ma1”);

    mb(n);

    System.out.println(“ma2”);

    }catch(EOFException e){

    System.out.println(“Catch EOFException”);

    }catch(IOException e){

    System.out.println(“Catch IOException”);

    }catch(SQLException e){

    System.out.println(“Catch SQLException”);

    }catch(Exception e){

    System.out.println(“Catch Exception”);

    }finally{

    System.out.println(“In finally”);

    }

    }

    public static void mb(int n) throws Exception{

    System.out.println(“mb1”);

    if (n == 1) throw new EOFException();

    if (n == 2) throw new FileNotFoundException();

    if (n == 3) throw new SQLException();

    if (n == 4) throw new NullPointerException();

    System.out.println(“mb2”);

    }

    }

    问:当读入的n 分别为1,2,3,4,5 时,输出的结果分别是什么?

    结果: n = 1

    main 1

    ma1

    mb1

    Catch EOFException

    In finally

    main2

    n = 2

    main 1

    ma1

    mb1

    Catch IOException

    In finally

    main2

    n = 3

    main 1

    ma1

    mb1

    Catch SQLException

    In finally

    main2

    n = 4

    main 1

    ma1

    mb1

    Catch Exception

    In finally

    main2

    n = 5

    main 1

    ma1

    mb1

    mb2

    ma2

    In finally

    main25. (自定义异常)创建两个自定义异常类MyException1

    和MyException2。

    要求:

    1) MyException1 为已检查异常,MyException2 为未检查异常

    2) 这两个异常均具有两个构造函数,一个无参,另一个带字符串参数,参数表示产生

    异常的详细信息。

    public class MyException1 extends

    Exception{

    public MyException1() {

    }

    public

    String MyException1(String str) {

    return str;

    }

    }

    public class MyException2

    extends RuntimeException{

    public MyException2() {

    }

    public String MyException2(String str) {

    return str;

    }

    }6.

    (自定义异常)在上一题的基础上,把下面代码补充完整。

    public class TestMyException{

    static MyException1 me = new

    MyException1();public static void main(String

    args[]){

    int n;

    //读入n

    try{

    m(n);

    }catch(MyException1 ex1){

    //输出ex1 详细的方法调用栈信息

    System.out.println(me.getStackTrace1());

    }catch(MyException2 ex2){

    //输出ex2 的详细信息

    //并把ex2 重新抛出

    String str = "n == 2";

    System.out.println(ex2.MyException2(str));

    throw new

    MyException2();}

    }

    public static void m(int n)_________ { //声明抛出MyException1

    if (n == 1) {

    //抛出MyException1

    //并设定其详细信息为“n == 1”

    String str = "n == 1";

    me.setStackTrace(str);

    throw new

    MyException1();

    }else {

    //抛出MyException2

    //并设定其详细信息为“n == 2”

    throw new

    MyException2();}

    }

    }

    7. (try-catch)代码改错。

    class MyException extends

    Exception{}

    class TestException{

    public static void main(String args[]){

    ma();

    }

    public static int ma(){

    try{

    m();

    return 100;

    }catch(Exception e){

    System.out.println(“Exception”);

    return 0;}

    //catch(ArithmeticException e){

    //System.out.println(“ArithmeticException”);

    //}}

    public static void m()throws MyException{

    throw new MyException();

    }

    }

    8. (方法覆盖)有如下代码

    import java.io.IOException;

    class Super{

    public void ma() throws IOException{}

    }

    interface IA{

    void mb();

    }

    public class MySub extends Super implements IA{

    public void ma() //1_________{

    }

    public void mb() //2_________{

    }

    }

    问:

    在//1 处,填入以下________代码可以编译通过,在//2 处,填入_________代码可以编译

    通过。

    A. throws java.io.IOException

    B. throws java.io.FileNotFoundException, java.io.EOFException

    C. throws java.sql.SQLException

    D. 不能抛出任何异常。

    9. *(异常处理)有如下代码

    import java.io.*;

    import java.sql.*;

    public class TestTryCatch{

    public static void main(String args[])throws

    Exception{

    try{

    ma(10);

    System.out.println(“No Exception”);

    }

    catch(EOFException ex1){

    System.out.println(“ex1”);

    }

    catch(IOException ex2) {

    System.out.println(“ex2”);

    }

    catch(SQLException ex3) {

    System.out.println(“ex3”);

    }

    }

    public static void ma(int n) throws Exception{

    if (n == 1){

    throw new IOException();

    }else if (n == 2){

    throw new EOFException();

    }else if (n == 3) {

    throw new SQLException();

    }

    }

    }

    选择正确答案:

    A. 编译不通过

    B. 编译通过,输出No Exception

    C. 编译通过,输出ex1

    D. 编译通过,输出ex2

    E. 编译通过,输出ex3

    结果:A

    10. *(try-catch,局部变量)有如下代码

    public class TestTryCatch{

    public static void main(String args[]){

    System.out.println( ma() );

    }

    public static int ma(){

    int n;

    try{

    n = 10/0;

    }catch(Exception e){

    }

    return n;

    }

    }

    选择正确答案:

    A. 编译不通过

    B. 编译通过,输出-1

    C. 编译通过,输出0

    结果:A.

    11. *(try-catch-finally)有如下代码

    public class TestFinally{

    public static void main(String args[]){

    System.out.println ( ma() );

    }

    public static int ma(){

    int b;

    //读入b

    try{

    int n = 100;

    return n/b;

    }catch(Exception e){

    return 10;

    }finally{

    return 100;

    }

    }

    }

    在ma 中,当读入的b 为100 时,输出结果为__100__,当读入的b 为0 时,输出结果为

    __100___。12.

    *(try-finally)写出下面代码运行的结果

    public class TestTryFinally{

    public static void main(String args[]){

    try{

    ma();

    }catch(Exception ex1){

    }

    }

    public static void ma() throws Exception {

    int n = 10;

    int b;

    //读入一个整数b

    try{

    System.out.println(“ma1”);

    int result = n / b;

    System.out.println(“ma2 ” + result);

    }finally{

    System.out.println(“In Finally”);

    }

    }

    }

    在ma 中,读入整数b,如果读入的值为10,则输出:

    ma1

    ma2 =1

    In Finally如果读入的值为0,则输出:

    ma1

    In Finally

    13. *(方法覆盖)

    import java.io.*;

    class MySuper{

    public void m() throws IOException{}

    }

    class MySub extends MySuper{

    public void m() throws EOFException, FileNotFoundException{}

    }

    class MySub2 extends MySub {

    public void m() throws FileNotFoundException{}

    }

    以上代码是否能编译通过?如果不能,应该如何修改?

    14. *(自定义异常)完成某个计费系统的用户登录和注册模块,要求如下:

    1) 创建一个User 类,包括:用户登录名(username)、密码(password)、用户真实姓

    名(name)、电子邮件地址(email)属性和相应的构造方法及set/get 方法。

    2) 创建两个自定义异常类,一个LoginException,表示登录异常。一个RegisterException,

    表示注册异常。自定义的两个异常,都要求有一个接受字符串类型参数的构造方法。

    3) 创建一个UserBiz 接口,该接口中定义两个方法:

    void register(String username, String password, String

    password2,

    String name, String email) throws RegisterException //用户注册

    void login(String username, String password) throws LoginException

    //用户登录

    其中register 方法接受两个password 参数,原因是:在用户注册时,需要输入两遍

    password,只有两次输入的password 一致,才允许注册。

    4) 创建UserBiz 接口的实现类。其中

    为该实现类创建一个属性,该属性为一个Map,用来保存已注册的用户信息。Map

    的键为用户登录名,值为登录名对应的User 对象。初始情况下,Map 中保存的对

    象为以下两个:

    用户名 密码 真实姓名 电子邮件

    admin admin Administrator admin@123.com

    tom cat tomcat tomcat@cat.com

    register 方法在以下两种情况下抛出异常:

    1) username 在Map 中已存在

    2) 两次输入的password 不一致

    login 方法在以下两种情况下抛出异常:

    1) username 不存在

    2) username 和password 不匹配

    5) 创建一个UserView 接口,该接口中定义两个方法:

    void login();

    void register();

    6) 创建UserView 接口的实现类。

    该实现类的login 方法中,利用命令行,让用户输入用户名和密码,之后调用UserBiz

    中的login 方法。部分代码如下:

    void login(){

    System.out.println(“请输入用户名:”);

    String username = ;

    System.out.println(“请输入密码”);

    String password = ;

    //调用UserBiz 中的login 方法

    }

    该类的register 方法采用类似的方法,让用户输入注册时需要的信息,然后调用

    UserBiz 中的register 方法。

    注意:

    1、 密码应该让用户输入两遍。

    2、 UserViewImpl 中应当有一个UserBiz 类型的属性

    7) 编写测试代码。

    类图如下:

    a4c26d1e5885305701be709a3d33442f.png

    15. **(异常的捕获和抛出)有以下代码:

    import java.io.*;

    import java.sql.*;

    public class TestMyException{

    public static void main(String args[]){

    try{

    System.out.println("main1");

    ma();

    System.out.println("main2");

    }catch(Exception e){

    System.out.println("Catch Exception in main");

    System.out.println(e.getMessage());

    }

    }

    public static void ma() throws IOException{

    try{

    System.out.println("ma1");

    mb();

    System.out.println("ma2");

    }catch(SQLException e){

    System.out.println("Catch SQLException in ma");

    throw new IOException(e.getMessage());

    }catch(Exception e){

    System.out.println("Catch Exception in ma");

    System.out.println(e.getMessage());

    }

    }

    public static void mb() throws SQLException{

    throw new SQLException("sql exception in mb");

    }

    }

    问:该程序输出结果是什么?

    16. **(异常的捕获和抛出)有以下代码

    public class TestException{

    public static void main(String args[]){

    try{

    System.out.println(“main1”);

    ma();

    System.out.println(“main2”);

    }catch(Exception e){

    System.out.println(“In Catch”);

    }

    }

    public static void ma(){

    System.out.println(“ma1”);

    throw new NullPointerException();

    System.out.println(“ma2”);

    }

    }

    选择正确答案:

    A. 编译出错

    B. 编译正常,输出main1 ma1 In Catch

    C. 编译正常,运行时出错

    17. **(异常的捕获和抛出)有如下代码

    import java.io.*;

    import java.sql.*;

    class TestException{

    public static void main(String args[]){

    try{

    ma();

    }

    catch(Exception e){}

    }

    public static void ma() throws IOException{ }

    }

    下面哪些代码放在处可以编译通过?

    A. catch(NullPointerException npe){}

    B. catch(IOException ioe){}

    C. catch(SQLException sqle){}

    18. **(finally)有如下代码

    public class TestTryAndTry {

    public static void main(String args[]){

    System.out.println(ma());

    }

    public static int ma(){

    try{

    return 100;

    }finally{

    try{

    return 200;

    }finally{

    return 500;

    }

    return 1000;

    }

    }

    }

    选择正确答案:

    A. 编译错误

    B. 输出100

    C. 输出200

    D. 输出500

    E. 输出1000

    展开全文
  • 二楼的朋友 Mult1()是构造方法,需要void?... } catch (LessThanZeroException e) { intln("产生乘积小于0异常!"); }catch(Exception e){ intStackTrace(); }finally { intln("乘积为" + result); } } }。 全部

    二楼的朋友 Mult1()是构造方法,需要void?。。。 ============================================== 因为main为static(静态)方法,静态方法只能调用静态方法和静态属性 你可以在Mult1和set方法前加个static,当然,main方法所在的类应该为public类型,而一个类文件中也不可以存在两个public class 所以将前面的public去掉吧,然后在main中调用就可以了,例如: class LessThanZeroException extends Exception { LessThanZeroException(String s) { super(s); } LessThanZeroException() { this(""); } } public class Mult1 { protected double result; public static void Mult1(double result) throws LessThanZeroException { t(result); } public static void set(double result) throws LessThanZeroException { if (result < 0) throw new LessThanZeroException("" + result); } public static void main(String args[]) { double m = 4; double n = 0。

    2; double result = m * n; try { Mult1。

    Mult1(result); } catch (LessThanZeroException e) { intln("产生乘积小于0异常!"); }catch(Exception e){ intStackTrace(); }finally { intln("乘积为" + result); } } }。

    全部

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

    2010-12-29 15:09:37
    java异常处理的习题,撒个的是的风格成本凡人歌是东方按时到岗
  • java异常处理练习题

    2018-08-17 11:10:20
    java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
  • 我们知道,异常可以使用try catch 和throw抛出,什么情况下使用捕获或者抛出呢?如果在继承中,子类如何处理异常?这两个问题,我们这篇来总结下,然后来几个异常的练习题。1.异常注意事项- 子类重写父类方法时,...
  • 大概方式:1、判断用户输入的类型是否正确,不正确捕获异常,把他包装成我自己定义的异常2、判断用户输入的数是多少2.1、如果是1,则打印“输入图书名称”,用户输入,定义一个Book类型的数组,然后遍历,定义一个...
  • Java异常处理习题

    万次阅读 2017-10-05 17:45:16
    1、java中用来抛出异常的关键字是( ) A.try B.catch C.throw D.finally   2、关于异常,下列说法正确的是( ) A. 异常是一种对象 B.一旦程序运行,异常将被创建 C.为了保证程序运行速度,要尽量避免...
  • java 异常练习题

    2016-05-27 22:31:00
    要求用户输入数字,捕获并处理用户输入错误的异常 package com.hanqi.ec; import java.util.Scanner; public class Test2 { public static void main(String[] args) { // TODO 自动生成的方法存根 ...
  • java异常练习题

    千次阅读 2018-09-10 23:05:49
    ------异常已经捕捉到,后面就不能接任何语句 } catch(Exception e) { System.out.println("B"); } } public static void main(String[] args) { try { func(); } catch(Exception e) { System.out....
  • 下列代码中的异常属于(多选) (A D)int a = 0;System.out.println(2/a);1A. 非检查型异常B. 检查型异常C. ErrorD. Exception2.类及其子类所表示的异常是用户程序无法处理的 (C)A. NumberFormatExceptionB. ExceptionC...
  • 该文档主要包含一些java 异常相关的习题,不足之处,敬请谅解!!!!
  • 异常Key Point* 异常的概念和分类* 异常的产生和传递* 异常的处理* 自定义异常练习1. 填空Java 中所有的错误都继承自______类;...2. 查api,填空异常java.rmi.AlreadyBoundException,从分类上说,该类属于___...
  • 二楼的朋友 Mult1()是构造方法,需要void?... } catch (LessThanZeroException e) { intln("产生乘积小于0异常!"); }catch(Exception e){ intStackTrace(); }finally { intln("乘积为" + result); } } }。 全部
  • Java练习题16.2 异常处理 欢迎扫码关注公众号"野心与家",回复"12.3"获取原程序 1、自定义一个除数为负数的异常类 package com.shangjiti.aoian; public class No5 { public static void main(String[] args) ...
  • Java基础习题(二)——异常

    千次阅读 2016-05-15 15:42:07
    Java习题Java习题 Java入门习题 Java入门习题一对象导论 ...Java基础习题异常 1请写出下列程序的运行结果 2请写出下列程序的运行结果 3请写出下列程序的运行结果 4请写出下列程序的运行结果 5请写出下
  • 教材Java面向对象程序设计(第二版) 袁绍欣 第七章1~5、8 1. “程序中凡是可能出现异常的地方必须进行捕获或拋出”,这句话对吗? 不对。 异常类型是RuntimeException或是其子类,程序方法可以对异常不作任何声明抛出...
  • 教材Java面向对象程序设计(第二版) 袁绍欣 第七章6、7 6.编写一个程序方法,对空指针异常、除数为零异常给出出错的中文提示。当有新异常发生时,可扩展该方法中的代码进行统一处理。 public class Test{ public ...
  • java 异常练习题2

    2016-05-28 19:19:00
    建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。 package exception; public class TestException { public static void main(String[] args) ...
  • 参考链接: Java程序的输出| 12(异常处理) 一、选择题 1、java中用来抛出异常的关键字是( ) A.try B.catch C.throw D.finally 2、关于异常,下列说法正确的是( ) A. 异常是一种对象 B.一旦程序运行,异常...
  • Java 异常类 练习题

    2020-04-29 14:55:09
    第一题 題目內容: 从键盘输入一个整形数n,如果输入正确的话,输出10-n后的值,如果输入...如果输入的不是整数,则抛出异常类:InputMismatchException。 import java.util.InputMismatchException; import java.u...
  • java 异常练习题1

    2016-05-28 19:03:00
    抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。 package exception; public class Bank { double balance; public ...
  • Java异常处理练习题

    2020-05-18 20:02:22
    1.下列代码中的异常属于(多选) (A D) int a = 0; System.out.println(2/a); A. 非检查型异常 B. 检查型异常 C. Error D. Exception 2.类及其子类所表示的异常是用户程序无法处理的 (C) A. ...
  • 异常继承体系为:异常的根类是 java.lang.Throwable,其下有两个子类: java.lang.Error 与 java.util.Exception 。而Exception又分为编译时期异常:checked异常,与运行时期异常:runtime异常。 2.Error:表示不可...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 456
精华内容 182
关键字:

java异常习题

java 订阅