如何根据 HRESULT 创建 COMException?
我使用 P/Invoke 调用了一个返回 HRESULT 的 Win32 方法。如果返回失败,我想抛出一个 COMException,带有标准的错误文本。该如何实现?
以下是两种方法:
1. `throw new COMException(null, hResult)` 2. ``` COMException e = new COMException; e.HResult = hResult; throw e; ```
还有其他方法吗?
我使用 P/Invoke 调用了一个返回 HRESULT 的 Win32 方法。如果返回失败,我想抛出一个 COMException,带有标准的错误文本。该如何实现?
以下是两种方法:
1. `throw new COMException(null, hResult)` 2. ``` COMException e = new COMException; e.HResult = hResult; throw e; ```
还有其他方法吗?
S_FALSE
的函数抛出异常吗?这会很奇怪,但可能比无法将其与S_OK
区分开要好。 - svick