异常处理,是Java中最强大,也是最容易被误用的机制。
使用异常的第一步是决定是否使用异常,异常并不是在任何情况下都适用。
决定适用异常之后,必须决定如何适用异常。
所谓异常处理,就是通知客户程序发生了非正常情况的机制。
以下几种非正常情况:
编译错误(compile error):语法错误。
逻辑错误(logical error):算法错误。只有cheng程序员才能检查这种错误。
运行时错误(runtime error):执行错误。一般为:数学运算发生溢出,磁盘空间不足或是文件损坏等在正常情况下不可能发生的错误。
异常就是JVM发给java程序的通知。java程序是JVM的客户。异常就是通知
条款1[规则】用时间频度来确定异常情况
当java程序违反了Java的语义规则时,Java虚拟机会将发生的错误表示为一个异常。
两种违反语义规则的情况:
一种是Java类库内置的语义检查。如:数组下标越界,会引发IndexOutOfBoundsException;访问null的对象,会引发NullPointerException.
另一种是:程序员自己定义的异常。
任何异常都会引起程序控制流的转移,当异常被抛出后,JVM会在抛出异常的方法中寻找最近匹配的Catch语句,如果没有,
则在调用方法中寻找,直至遍历调用栈中所以方法为止。如果没有找到任何匹配的catch语句,则会调用ThreadGroup.uncaughtException()方法。
所以的异常都是java.lang.Throwable的子类。更严谨一点说,我们应当尽量使它们仅仅是Error,Exception或者RuntimeException的子类。
finally关键字是对java异常处理模型的有益补充。finally块中的代码总会执行,而不管有无异常发生。
使用finally可以维护对象的内部状态,并且finally是释放非内存资源的最佳场所。
异常对性能的影响表现在两方面: 一是异常的创建,捕获和处理都需要较高的代价。这同JVM处理异常的方式有关
。
在java内存模型中,有一个称之为栈的内存区域,每一次方法调用,都会生成一帧来存储方法的相关信息,包括局部变量,参数,返回值和代码信息。
分享到:
相关推荐
根据标题和描述,文件《高质量程序设计指南--C++/C语言(第3版)]-[林锐》是一本关于C++和C语言编程的指南书籍。林锐作为作者,可能在书中分享了提高C++和C语言编程质量的方法、技巧和最佳实践。因此,以下内容是根据...
在Java编程领域,高质量的程序设计是至关重要的,它直接影响到软件的性能、可维护性和扩展性。这份“高质量JAVA程序设计-个人学习笔记”涵盖了Java编程中的关键知识点,旨在帮助学习者提升代码质量,更好地理解和...
《高质量程序设计指南》是一本深入探讨如何编写高效、可靠且可维护的代码的专业书籍。在软件开发领域,高质量的程序设计是确保项目成功的关键因素。以下是对该书内容的详细解析: 1. **设计原则**:书中首先阐述了...
《高质量程序设计指南(2版)》是由林锐编著的,主要针对C++和C语言,这本书在网络上受到了广泛的好评。作为一名专业的IT行业人士,理解并掌握C++和C语言的基本概念、语法以及编程原则至关重要。这两种语言是计算机...
《高质量程序设计指南-C++/C语言(第1版)》是浙江大学林锐博士的一本经典编程教材,它深入浅出地介绍了C++和C语言的编程理念与实践技巧。这本书的内容不仅涵盖了语言的基础语法,更注重实际工程中的应用,旨在帮助...
《高质量程序设计指南 第三版 最新修订版》是一本深度探讨编程艺术和技术的书籍,旨在帮助程序员提升代码质量和效率。这本书的第三版在前两版的基础上进行了全面更新和修订,确保了内容的时效性和实用性。 该书的...
《C++程序设计-原理与实践第2版—进阶篇》是一本...通过阅读《C++程序设计-原理与实践第2版—进阶篇》,读者不仅能够深入理解C++的高级特性,还能掌握编写高质量、高性能C++代码的技巧,为实际项目开发打下坚实基础。
### 高质量程序设计指南:C、C++语言(第3版) #### 一、引言 《高质量程序设计指南:C、C++语言(第3版)》是一本专门针对C与C++语言编程的专业指导书籍。它不仅涵盖了基础语法、高级特性,还深入探讨了如何编写...
在C++编程领域,高质量的程序设计是每个开发者追求的目标。C++作为一种强大的、面向对象的编程语言,具有丰富的特性和强大的性能优化能力,但同时也带来了编写复杂代码的可能性。本篇将深入探讨如何通过遵循最佳实践...
《高质量程序设计指南(第三版)》是一本深入探讨C++编程的专业书籍,旨在帮助无论是初学者还是经验丰富的程序员提升程序设计的技能和质量。本书以其详尽的讲解和实践指导,深受读者喜爱,无论你是刚接触C++的新手,...
《Java语言程序设计-基础篇(原书第8版)》是学习Java编程的重要参考资料,由知名计算机教育专家Daniel Liang等撰写。本书主要针对初学者,深入浅出地介绍了Java编程的基础概念和技术,旨在帮助读者掌握编程基础,为...
在本节“高级语言程序设计-程序测试&计算机辅助教学系统1”的课程中,主要讨论了程序测试的重要性和计算机辅助教学系统的应用。程序测试是确保软件质量的关键环节,旨在发现并修复程序中的错误。课程围绕以下几个...
在Java编程领域,高质量的程序设计是至关重要的。这不仅涉及到代码的可读性、可维护性和性能,还包括良好的设计模式、错误处理、线程安全和资源管理等多个方面。以下是一些关于高质量Java程序设计的关键知识点: 1....
《高质量Java程序设计》是林锐的一本经典著作,它深入浅出地讲解了如何编写出高质量、可维护的Java程序。这本书对于Java开发者来说,是提升编程技能和理解Java精髓的重要参考资料。以下是对该书内容的一些关键知识点...
通过马石安教授的习题集,读者不仅可以巩固这些理论知识,还能通过实践加深理解,提升编写高质量C++代码的能力。习题解答部分提供了详细的步骤和思路,帮助读者解决实际问题,提高解决问题的能力。因此,对于C++初学...
《高质量程序设计指南 C++与C语言(第三版)》是一本深入探讨C++和C语言编程实践的重要著作。本书旨在提升程序员的编程素养,强调编写出高效、可读性强且易于维护的代码。作为第三版,它必定包含了最新的语言特性和...
《高质量Java程序设计》是一本深入探讨如何编写高效、可靠且易于维护的Java代码的书籍。源代码提供了书中实例的实现,是理解理论知识并进行实践操作的重要资源。以下是基于这个主题的一些Java编程核心知识点: 1. *...
3. **单元3:数据与异常程序设计**(14学时) - 文件的读/写操作 - 多线程概念及其实现 - 异常处理的自定义方法 4. **单元4:图形用户界面程序设计**(16学时) - Swing组件或JavaFX的基本设计方法和原理 - ...
【推选文档】c---程序设计-p 本篇文档主要介绍了C++语言的基础知识,包括面向对象程序设计方法、C++语言的基本结构和词法,以及如何使用Microsoft Visual Studio .Net开发平台进行C++编程。 首先,C++是一种支持...