C# 确定在EventArgs中放置异常吗?
我正在构建一个messenger库,我有一个关于如何正确地向用户报告特定错误的问题 主Messenger类有两种状态-已登录和已注销 内部发生的错误可能导致客户端注销 例如,DisconnectException(如果内部发生SocketException),或者ChallengeFailedException(如果客户端无法完成messenger服务器发出的质询) 是否可以(或建议)在LogoutEventArgs中将异常传递给用户?例如-LogoutEventArgs.ExceptionC# 确定在EventArgs中放置异常吗?,c#,events,C#,Events,我正在构建一个messenger库,我有一个关于如何正确地向用户报告特定错误的问题 主Messenger类有两种状态-已登录和已注销 内部发生的错误可能导致客户端注销 例如,DisconnectException(如果内部发生SocketException),或者ChallengeFailedException(如果客户端无法完成messenger服务器发出的质询) 是否可以(或建议)在LogoutEventArgs中将异常传递给用户?例如-LogoutEventArgs.Exception 或
或者有更理想的方法来处理这个问题吗?如果异常不是预期的(即,它确实是一种异常情况),那么您可能应该让异常被抛出,以便用户可以使用catch语句来处理任何特定的异常类型 如果异常是从另一个线程引发的,则可以将其包装在另一个异常中,并在调用线程上引发
如果这是一种预期的常见错误情况,那么它取决于用户在这种情况下应该做什么。类似枚举或自定义错误类的方法可能比仅将异常粘贴在
EventArgs
对象中要好。自定义对象也可以包含对异常对象的引用。如果异常不是预期的(即,它确实是一种异常情况),那么您可能应该让异常被抛出,以便用户可以使用catch语句来处理任何特定的异常类型
如果异常是从另一个线程引发的,则可以将其包装在另一个异常中,并在调用线程上引发
如果这是一种预期的常见错误情况,那么它取决于用户在这种情况下应该做什么。类似枚举或自定义错误类的方法可能比仅将异常粘贴在EventArgs
对象中要好。自定义对象还可以包含对异常对象的引用。我有一个类,它包含一些已知的异常,例如sql server超时。这样我的客户机就不需要处理这个问题,我的类会捕获它并返回一个错误枚举。
我只对捕获到的异常进行事件处理,以便我的客户可以选择记录它们。我不希望我的类具有日志依赖项。我有一个类,它包含一些已知的异常,例如sql server超时。这样我的客户机就不需要处理这个问题,我的类会捕获它并返回一个错误枚举。
我只对捕获到的异常进行事件处理,以便我的客户可以选择记录它们。我不希望我的类具有日志依赖项。在这种情况下,我添加了一个建议。在这种情况下,我添加了一个建议。