我正在开发各种通过COM互操作从C++客户端调用的C# COM DirectShow过滤器。在代码中很少使用C++异常。主要的异常是操作符new,它可以抛出bad_alloc异常。有没有一种干净的方法来处理可以被C#客户端捕获的bad_alloc异常?
新的处理程序是否会抛出一些可能被COM互操作客户端捕获的SEH异常?一种繁琐的替代方法是为成百上千的CO
我有一个窗体,其中包含Windows Media Player COM控件的多个实例。在播放电影一段时间后,它崩溃了。我看到一个对话框窗口,它告诉我应用程序有问题,它将被关闭。错误报告包含有关导致错误的模块的信息,其名称为lavvideo.ax可能是某种编解码器问题,但尽管如此,我还是希望捕获此异常。有可能吗?try/catch块不起作用。
在HRESULT COM 中,Windows外壳扩展使用从COM接口方法返回的返回值表示错误条件。但是,如果在COM接口方法的主体内(或在COM方法中直接或间接调用的某个C++对象的方法内),则会出现C++异常(例如std::runtime_error、std::bad_alloc、std::invalid_argument或者C++异常是否以某种方式转换为Win32结构化异常(SEH)?
如果是的