gpt4 book ai didi

c# - 可以将 Exception 放入 EventArgs 中吗?

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:27 24 4
gpt4 key购买 nike

我正在构建一个 Messenger 库,我对如何正确地向用户报告特定错误有疑问。

主要的 Messenger 类有两种状态 - 登录和注销。

内部发生的错误会导致客户端注销。

例如,一个 DisconnectException(如果内部发生 SocketException),或者一个 ChallengeFailedException(如果客户端无法完成信使服务器发出的挑战)。

是否可以(或建议)在 LogoutEventArgs 中将异常传递给用户?例如 - LogoutEventArgs.Exception

或者是否有更理想的处理方式?

最佳答案

如果异常不是预期的(即,它确实是异常情况),那么您可能应该抛出异常,以便用户可以使用catch 语句来处理任何特定的异常类型。

如果异常是从另一个线程抛出的,您可以将其包装在另一个异常中并在调用线程上抛出。

如果这是预期的常见错误情况,则取决于用户在这种情况下应该做什么。枚举或自定义 Error 类之类的东西可能比将异常粘贴在 EventArgs 对象中更好。自定义对象也可以包含对Exception 对象的引用。

关于c# - 可以将 Exception 放入 EventArgs 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com