《Java程序设计实用教程》(胡伏湘 著)课后习题答案 清华大学出版
第8章习题解答一、 简答题
1.什么是异常?异常产生的原因有哪些?
答:异常就是Java程序在运行过程中出现的错误。这类错误使程序非正常终止,但通过修正后还可以继续运行。
异常产生的原因有:
(1)JVM检测到非正常的执行状态,这些状态可能由以下情况引起的:
表达式违反了Java语言的语义,如除数为0 装入或链接程序时出错
超出了资源限制,如内存不足,这种异常是程序员无法预知的
(2)程序代码中的throw语句被执行
(3)因为代码段不同步而产生,可能的原因是:
Thread(线程)的stop方法被调用
JVM内部发生错误。
2.为什么Java的异常处理技术优于传统程序的异常处理技术?
答:在没有异常处理机制的程序设计语言中进行异常处理,通常是在程序设计中使用if-else或switch-case语句所能设想的到的错误情况,以捕捉程序中可能发生的错误。在这种处理方式的程序中,对异常的监视、报告和处理的代码与程序中完成正常功能的代码交织在一起,即在完成正常功能的程序的许多地方插入了与处理异常有关的程序块。这种处理方式虽然在异常发生点可以看到程序如何处理异常,但它干扰了人们对程序正常功能的理解,使程序的可读性和可维护性下降,并且由于人的思维限制,常常会遗漏一些意想不到的异常。 Java的异常处理机制是在程序中监视可能发生异常的程序块,将一个程序中的所有异常收集起来放到程序的某一段中处理,而不必在被监视的程序块中多处插入处理异常的代码,使完成功能的程序代码与进行异常处理的程序代码分开,增强了程序的可读性和可靠性,减少了编程人员的工作量,增加了程序的灵活性。此外,这种机制可以及时有效地处理程序运行中的异常,可以预防因错误的程序代码或系统错误所造成的不可预期的结果发生,并且当这些不可预期的错误发生时,异常处理机制会尝试恢复异常发生前的状态或对这些错误结果做一些善后处理。
3.在Java代码中可用来处理异常的方式有哪些? 答:在Java代码中可用来处理异常的方式有两种:
(1)在可能产生异常的方法中,采用Java语言提供的try-catch-finally语句块处理异常
(2)如果一个方法可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应声明抛弃该种异常,表明该方法将不对此类异常进行处理,而由该方法的调用者负责处理。此时需在方法声明中包含throws子句。
**** Hidden Message *****
页:
[1]