john_he 发表于 2007-8-17 23:44:33

求本介绍C/C++异常处理机制的书

RT

最好能介绍实现机理,付汇编实现代码介绍的更好,中英文都可以

之前找了本Robert Schmidt的《C与C++中的异常处理》的中文版,可惜翻译实在是太垃圾,根本就看不懂

Miliardo 发表于 2007-8-18 08:10:40

C的异常么- -就是所谓jmp吧- -
C++我觉得实现机理和C的应该一样,只是个人的主观臆断嗯- -

john_he 发表于 2007-8-18 12:33:30

所谓C异常应该就是setjmp和longjmp。
觉得C++的应该有点不同吧,毕竟throw的时候还要析构对象……
也是主观臆断……

coolpay64 发表于 2007-8-18 14:26:59

其實繼承式的Error物件加throw已經十分足夠。。

john_he 发表于 2007-8-18 14:46:46

我是想了解C++异常处理具体的开销在哪里,优缺点是什么……

其实我个人极度不喜欢用抛出异常的方法,总觉得这样就不知道程序到底做了什么,不过有时候要用到些会抛异常的库没办法。一般我是用返回Error Code的方法判断错误的

shawind 发表于 2007-8-18 19:52:14

或许你可以尝试契约式编程,可看看《契约式设计的理解及其在C/C++中的应用》
其实,我只是知道在c++中也可以用契约,但实际上我只是在D中用过。
在D中契约可以用来判断程序的错误,而且只是在编译时进行判断,对编译后的exe没有影响。

john_he 发表于 2007-8-19 12:51:43

契约式编程,是不是使用assert?

assert不能应对一些运行时错误吧,因为我想写的是脚本解释器,要处理一些诸如语法错误、非法操作和内存分配失败的问题,所以还是想要能从错误中恢复的机制……

shawind 发表于 2007-8-20 10:32:07

原来是这个目的。自己设计一门解释语言啊...

john_he 发表于 2007-8-20 19:50:40

不是自己设计,是想要扩展Lua的多线程功能和做个易用的Wrapper……
如果是自己实现,我是不会考虑用抛错误的方式的
页: [1]
查看完整版本: 求本介绍C/C++异常处理机制的书