有没有一种干净的方法可以处理bad_alloc异常,并且C#客户端能够捕获?
新的处理程序是否可以抛出一些可以被COM互操作客户端捕获的SEH异常?
还是最好链接到Visual Studio库中向后兼容的非抛出版本的new,并检查每个分配?
一种繁琐的替代方案是为数百个COM入口点编写try/catch,但这似乎不值得,因为bad_alloc异常很少可恢复。
DirectShow基类通常检查operator new的空返回值,因为它们似乎是为早期版本的Visual C++编写的,这些版本不会抛出bad_alloc异常。