c++的异常处理模块, 只有简单的try...catch...结构, 实际使用过程中, 很多的时候感到非常的乏力, 经常需要释放资源, 很多的时候需要提前返回, 经常忘掉释放资源, 即使记得, 也要重复的编写代码. 远远没有 delphi的 try ...fianlly来的更加的直接. 有很多的帖子说, 将需要释放的资源封装成类, 在析构函数中释放资源, 可是, 这样一来, 完全的扰乱了代码本来简单的逻辑, 让代码更加难以读懂, 读起来非常的费力. 比如文件吧, 假如我要读取文件, 一般只需进行简单的操作就行了, 因为资源释放的问题, 我非得另外创建一个类, 这不是有毛病吗?
对象, 只是为了让事情处理的更加的方便, 便于提取事情的共同之处, 进行合理的抽象, 以减少重复的劳动. 这个时候, 费尽周折去做这种事情, 与本来的直觉背道而驰.
事实上, 很多的时候并不只是释放资源的问题, 我需要的是一种直接的目的, 不管程序如何执行, 我希望程序执行完之后, 一定要执行某种操作. c++由于没有finally, 无法完成这样的操作, 用起来很多不爽.
个人感觉, 没有finally结构, 是c++一个很大的弊端