异常机制简介 当CPU运行到一些非法的指令,例如除零错误,访问内存页失败等指令,CPU会生成一个硬件异常,不同的异常有固定的异常代码作为标识符,异常产生以后CPU暂时不能继续执行后续的指令—因为后续的指令有可能也是无效的。当然不能让整个计算机系统就这么当掉,因此CPU内置了一个异常处理表—这个异常处... ...
分类:
Web程序 时间:
2017-04-07 15:49:48
阅读次数:
231
概念 今天在看了JAVA编程思想,特地来做一个小小的总结。 异常的好处就是降低错误代码的复杂度,因为异常机制可以在合适的地方捕获到合适的异常。 基本异常 当异常抛出以后,会使用new对象在堆上创建异常对象。异常处理机制会找到一个合适的切入点去往下面继续执行程序,要不就是这张方式运行,要不就是那种方式 ...
分类:
编程语言 时间:
2017-03-27 17:07:23
阅读次数:
172
类型转换 C语言中的强制类型转换很简单,不管什么类型的转换都是TYPE b=(TYPE)a; C++中类型转换提供了4种类型转换操作符来应对不同场合的应用。static_cast 静态转换。如int转换成charreinterpreter_cast 重新解释类型dynamic_cast 命名上理解是 ...
分类:
其他好文 时间:
2017-03-24 23:06:50
阅读次数:
196
引言 异常,让一个函数可以在发现自己无法处理的错误时抛出一个异常,希望它的调用者可以直接或者间接处理这个问题。而传统错误处理技术,检查到一个局部无法处理的问题时: 1.终止程序(例如atol,atoi,输入NULL,会产生段错误,导致程序异常退出,如果没有core文件,找问题的人一定会发疯) 2.返 ...
分类:
编程语言 时间:
2017-02-14 18:52:32
阅读次数:
286
第11章 异常、断言、日志和调试 处理错误 异常分类 声明已检查异常 如何抛出异常 创建异常类 捕获异常 捕获多个异常 再次抛出异常与异常链 finally子句 带资源的try语句 分析堆栈跟踪元素 使用异常机制技巧 使用断言 启用和禁用断言 使用断言完成参数检查 为文档假设使用断言 记录日志 基本 ...
分类:
编程语言 时间:
2017-01-21 19:23:38
阅读次数:
215
一,异常的推演 1.函数与异常 平时我们在函数中出现异常情况时通常通过return终止函数并返回一个值,然后在函数上层来获取值并判断是什么异常情况。因为函数是栈结构的,所以return的时候是通过栈结构逐步往上的,不能够跨函数直接抛出,不方便。所以C++推出了异常机制,通过异常机制我们可以轻松的捕获 ...
分类:
编程语言 时间:
2017-01-15 14:40:57
阅读次数:
171
异常机制是现代主流语言的标配,但是异常处理问题虽然已经被讨论很多,也有很多经典书籍的论述,却一直都充满争议。很多人都觉得异常处理很难拿捏,同时也难以理解一些语言或库的异常处理设计。我使用Java近10年,但直到最近我才感觉完全理清了对于异常处理的种种疑惑,下面就介绍一下我对Java异常处理原理和原则 ...
分类:
其他好文 时间:
2016-12-28 14:55:03
阅读次数:
156
避免使用异常处理代替错误处理,这样会降低程序的清晰性 不要进行小粒度的异常处理,应该将整个任务包装在一个try中 异常往往在高层处理 不要吞噬异常 隐藏实现细节来维系协定 ...
分类:
其他好文 时间:
2016-12-25 23:30:59
阅读次数:
192
C++中的捕获异常机制catch参数中实参的类型不同,采取的处理方式则不相同,且与普通的函数调用还不一样,具体表现为当抛出异常throw A()或throw obj时,对象会进行一次额外的对象复制操作。 测试类实现如下: 1) 当采用对象传递方式捕获异常时,在对象中会发生两次复制操作,一次为对象a复 ...
分类:
编程语言 时间:
2016-12-19 00:06:20
阅读次数:
303
模型驱动使用单独的VO(值对象)来封装请求参数和处理结果,属性驱动则使用Action实例来封装请求参数和处理结果。 一、使用模型驱动 1、login.action采用模型驱动模式实现,采用模型驱动时必须提供对应的模型,该模型就是一个普通的javabean。 UserBean.java 1: pack... ...
分类:
其他好文 时间:
2016-12-04 20:45:45
阅读次数:
310