gpt4 book ai didi

.net - .NET 中的错误代码/消息管理方法

转载 作者:行者123 更新时间:2023-12-04 11:45:17 24 4
gpt4 key购买 nike

寻找有关在多层应用程序中管理错误代码和消息的建议/最佳实践。具体如:

  • 应该在哪里定义错误代码?枚举?类(class)?
  • 错误消息或更多详细信息如何与错误代码相关联?资源文件?枚举值的属性等?
  • 例如,如果您有一个由 DAL、BLL、UI 和 Common 项目组成的多层应用程序,是否应该为所有层提供一个巨大的代码列表,或者这些代码是否可以按项目/层进行扩展?

  • 更新:重要的是,我不能仅仅依靠异常和自定义异常类型来报告错误,因为此应用程序的某些客户端将通过 Web 服务(SOAP 和 REST)

    欢迎任何建议!

    最佳答案

    错误代码是老生常谈,在 COM 和 C 编程的糟糕时代,不支持异常的环境中,您需要它们。如今,您使用异常来通知客户端代码或用户有关问题的信息。 .NET 中的异常是自描述的,它们具有类型、消息和诊断信息。

    您需要区分两种类型的异常,一类是可以合理恢复的异常,一类是您不知道究竟出了什么问题或如何从中恢复的异常。后一种是迄今为止最常见的,你需要一个人来采取纠正措施。使用标准的内置 .NET 异常类型之一来引发它们。 IllegalOperationException、FormatException、ArgumentException 是常见的选择。如果是后端引发了这样的异常,那么您只想在不更改的情况下传递它。你通常需要一个 finally 块来确保你的内部状态是一致的,有时一个 catch 块包含一个简单的 throw 来恢复状态。

    您认为可恢复的任何内容都应使用您自己声明的异常类型引发,该异常类型派生自 Exception 类。这使上游代码有机会编写 catch 子句并做一些有意义的事情。您需要生成一个描述问题的消息,以防上游代码实际上没有处理它,如果您需要从硬编码字符串或资源中检索消息的文本支持本地化。

    关于.net - .NET 中的错误代码/消息管理方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2391671/

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