-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Description
异常类型
IpcException抽象异常,永远不应该抛出,只允许被catchIpcRemoteException表示异常来自可正常连接并通信的其他端IpcInvalidRemoteRequestException当 IPC 收到来自其他端的请求时,此请求无法被理解IpcInvalidRemoteResponseException当 IPC 向其他端发起请求并收到其他端的响应后,此响应无法被理解- 具体被序列化和反序列化的异常 当其他端引发了异常,并通过 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 混淆。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels