We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IpcException
catch
IpcRemoteException
IpcInvalidRemoteRequestException
IpcInvalidRemoteResponseException
IpcConnectionException
IpcLocalException
框架内也可能会发生一些意料之外的异常。如果该异常发生在开始 IPC 通信之前或已完成 IPC 通信之后的本地,则应抛出 IpcLocalException,如果该异常发生在其他端但无法反序列化到本地,则抛出 IpcRemoteException。
框架应该适当抛出使用错误的异常(例如 ArgumentNullException、InvalidOperationException、NotSupportedException 等),但不应该抛出实现异常(例如 InvaldCastException、NullReferenceException 等)。如果出现后者,能处理的应正确处理,不能处理的应抛出 IpcLocalException 或 IpcRemoteException。
ArgumentNullException
InvalidOperationException
NotSupportedException
InvaldCastException
NullReferenceException
框架应正确处理 null 或 default,必须拥有正确的含义且不能与 IPC 传输的有意义的 null 或 default 混淆。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
异常类型
IpcException
抽象异常,永远不应该抛出,只允许被catch
IpcRemoteException
表示异常来自可正常连接并通信的其他端IpcInvalidRemoteRequestException
当 IPC 收到来自其他端的请求时,此请求无法被理解IpcInvalidRemoteResponseException
当 IPC 向其他端发起请求并收到其他端的响应后,此响应无法被理解IpcRemoteException
当其他端引发了异常,并通过 IPC 传过来时,如果此异常无法被反序列化,则抛出此异常IpcConnectionException
表示 IPC 无法正常连接其他端,或连接被断开IpcLocalException
表示异常发生在开始 IPC 通信之前或已完成 IPC 通信之后的本地,并且此异常表示 IPC 相关的错误(例如试图传输无法被序列化的类型等)特别说明
框架内也可能会发生一些意料之外的异常。如果该异常发生在开始 IPC 通信之前或已完成 IPC 通信之后的本地,则应抛出
IpcLocalException
,如果该异常发生在其他端但无法反序列化到本地,则抛出IpcRemoteException
。框架应该适当抛出使用错误的异常(例如
ArgumentNullException
、InvalidOperationException
、NotSupportedException
等),但不应该抛出实现异常(例如InvaldCastException
、NullReferenceException
等)。如果出现后者,能处理的应正确处理,不能处理的应抛出IpcLocalException
或IpcRemoteException
。框架应正确处理 null 或 default,必须拥有正确的含义且不能与 IPC 传输的有意义的 null 或 default 混淆。
The text was updated successfully, but these errors were encountered: