错误处理与异常的困扰
1. Windows API中的许多函数都要检查返回值,如果出错还要释放掉之前分配的资源,虽然有“结构化异常处理机制(SEH)”,但感觉比goto强不了多少,不是很爽。
(1)是不是每个会出错的函数都要检查?
(2)有没有更好的结构化办法?
(3)如果出错处理中,释放资源(如VirtualFree())时出错怎么办(有点像C++析构函数抛出异常)?重试多次?为什么C++中的delete不会出错?它的实现用了什么手法?
2. C++中的“异常安全”好像是很麻烦的东西,不知大家怎么看?
请高手指教