MS RPC运行时中有RpcRaiseException()
函数,用于指示在服务器端或客户端的RPC回调期间发生的RPC错误。传递给RpcRaiseError()
的RPC_STATUS传播到RPC调用的站点。
问题是如何选择RPC_STATUS值?
在管道pull()
回调中说,我从IStream*
读取数据并将该数据馈送到管道中。现在,IStream::Read()
返回指示错误的HRESULT
,我需要调用RpcRaiseException()
来中断该调用。
我传递什么值(value)?
最佳答案
如果您有可能失败的API,为什么不让API返回失败代码作为API的返回值?
如果您确实想使用RpcRaiseException,则该异常将作为异常传播给客户端,因此该异常代码将在客户端的RpcExcept处理程序中显示为RpcExceptionCode。
关于windows - 如何使用RpcRaiseException()进行良好的错误处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1804053/