异常处理专题试题汇总
2011-07-25 17:09
183 查看
1. 在那种情况下finally里面的语句不会被执行?
答案:如果在finally语句之前执行了终止程序的System.exit()方法, 那么finally语句就不会被执行,这是finally语句不被执行的唯一情况。
2、运行时异常与一般异常有何异同?
Java提供了两类主要的异常:runtime exception和checked exception。
checked 异常也就是我们经常遇到的IO异常,以及SQL异常. 对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。
runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。
3、重写父类的方法时,抛出异常应注意什么?
子类重写父类的方法时声明抛出异常不能比父类“范围”大
4、throw 与 throws的区别与联系是什么?
区别一:throw 是语句抛出一个异常;throws 是方法抛出一个异常;
throw语法:throw <异常对象>
在方法声明中,添加throws子句表示该方法将抛出异常。
throws语法:[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]
其中:异常类可以声明多个,用逗号分割。
区别二:throws可以单独使用,但throw不能;
区别三:throw要么和try-catch-finally语句配套使用,要么与throws配套使用。但throws可以单独使用,然后再由处理异常的方法捕获。
5、Error和Exception的区别
Error和Exception都继承自Throwable类 ,Error是系统中的错误,程序员是不能改变,处理的,在程序编译的时候出现的错误.只有通过修改程序才能修正Error.Exception是在程序运行的时候将要发生的错误,是可以捕获处理的。
6、关键字throw与throws的用法有什么差异?
throw:抛出一个异常类对象,通常用于处理自定义异常类情况,例如:
throw new BankException();
throws:则是在方法声明时,告诉调用者该方法可能抛出的异常,异常的捕获、处理交由调用者去实施。例如:int parseInt(String s)throws NumberFormatException
7、是什么造成了Java里面的异常?
以下三种情形下会抛出Java异常:
(1)如果java虚拟机同步检测到代码有不正常的执行情况。
- 当一个赋值表达式违背了正常的语义学(如一个整数除以0)
- 当加载和链接程序的某一部分时发生错误。
- 当资源的占用超过了限定值(如占用了过多的内存,就会发生outofmemory异常)
- 当程序访问了不存在的文件资源时,也可能造成异常。
(2)当一个throw语句被执行的情况下也会抛出Java异常
(3)发生异步的异常
- 当一个被停用的方法或者被丢弃的(deprecated)的方法被调用的情况下。
- 当java虚拟机发生了内部错误的情况下。
8、java中异常处理机制的原理是什么
当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。
答案:如果在finally语句之前执行了终止程序的System.exit()方法, 那么finally语句就不会被执行,这是finally语句不被执行的唯一情况。
2、运行时异常与一般异常有何异同?
Java提供了两类主要的异常:runtime exception和checked exception。
checked 异常也就是我们经常遇到的IO异常,以及SQL异常. 对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。
runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。
3、重写父类的方法时,抛出异常应注意什么?
子类重写父类的方法时声明抛出异常不能比父类“范围”大
4、throw 与 throws的区别与联系是什么?
区别一:throw 是语句抛出一个异常;throws 是方法抛出一个异常;
throw语法:throw <异常对象>
在方法声明中,添加throws子句表示该方法将抛出异常。
throws语法:[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]
其中:异常类可以声明多个,用逗号分割。
区别二:throws可以单独使用,但throw不能;
区别三:throw要么和try-catch-finally语句配套使用,要么与throws配套使用。但throws可以单独使用,然后再由处理异常的方法捕获。
5、Error和Exception的区别
Error和Exception都继承自Throwable类 ,Error是系统中的错误,程序员是不能改变,处理的,在程序编译的时候出现的错误.只有通过修改程序才能修正Error.Exception是在程序运行的时候将要发生的错误,是可以捕获处理的。
6、关键字throw与throws的用法有什么差异?
throw:抛出一个异常类对象,通常用于处理自定义异常类情况,例如:
throw new BankException();
throws:则是在方法声明时,告诉调用者该方法可能抛出的异常,异常的捕获、处理交由调用者去实施。例如:int parseInt(String s)throws NumberFormatException
7、是什么造成了Java里面的异常?
以下三种情形下会抛出Java异常:
(1)如果java虚拟机同步检测到代码有不正常的执行情况。
- 当一个赋值表达式违背了正常的语义学(如一个整数除以0)
- 当加载和链接程序的某一部分时发生错误。
- 当资源的占用超过了限定值(如占用了过多的内存,就会发生outofmemory异常)
- 当程序访问了不存在的文件资源时,也可能造成异常。
(2)当一个throw语句被执行的情况下也会抛出Java异常
(3)发生异步的异常
- 当一个被停用的方法或者被丢弃的(deprecated)的方法被调用的情况下。
- 当java虚拟机发生了内部错误的情况下。
8、java中异常处理机制的原理是什么
当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。
相关文章推荐
- 历年软件设计师下午考试试题汇总统计
- 历年软件设计师下午考试试题汇总统计
- MongoDB资料汇总专题
- 软考信息技术处理员-模拟试题及答案【汇总篇】
- 2012华为上机试题汇总及参考程序
- 2013蓝桥杯预赛试题汇总
- Redis资料汇总专题:说NoSQLFan上的资料不少,但是要找到自己实用的太难,于是萌生做这样一个专题的想法。通过将不同NoSQL产品从入门到精通的各种资料进行汇总
- Redis资料汇总专题
- 【转】MongoDB资料汇总专题
- java面试笔试题大汇总 及 c/c++面试试题转载
- u-boot-2011.03移植系列专题汇总
- 排序试题汇总
- 2013蓝桥杯预赛试题汇总
- 异常处理汇总
- 【Android学习专题】控件组件篇:Dialog汇总
- MongoDB资料汇总专题
- 数据库面试试题汇总
- EJB专题汇总
- Redis资料汇总专题
- 【病历书写专题】病历书写系统、课件及规范资源汇总