错误处理-全局错误目录

本文关键字:错误 处理 全局 | 更新日期: 2023-09-27 17:58:19

在编写C代码时,我可能使用了全局#定义来表示错误号。我在C#中做不到。我可以使用一个错误类,但我必须把它传来传去。拥有全局错误目录类真的是一种严重的失礼行为吗?例如,包含错误和消息字典的类?如何处理得更好?

好吧,我本可以说得更清楚。。。很抱歉

假设我正在访问不同类中的一个数据库或多个数据库。如果我在访问数据库时遇到错误,我想显示某种错误消息,但不一定要显示系统生成的错误消息——我有自己的错误目录。假设我有一个标准的"数据库访问错误"字符串,我想显示它,但我想添加数据库名称和表。我可以通过C中的几个#定义来实现这一点。我应该如何使用C#来处理这一点?C#是一个全局可访问的单例类,包含一个字典?这是件坏事吗?

错误处理-全局错误目录

如果您想定义一个自定义字典,其中包含适用于您的代码和消息,但这不是一个好的做法。如果您的代码变得越来越大,那么为异常指定一个有意义的名称比代码更好。想想看,当有多个人在某个项目上工作时,如果你使用一个自定义类,它会更容易,因为intellisense会提供帮助。

在c#中,它以不同的方式工作——你可以为你定义的每个c代码使用一个自定义的异常类,比如这个

using System;
public class EmployeeListNotFoundException: Exception
{
    int _codeException; 
    public EmployeeListNotFoundException()
    {
    }
    public EmployeeListNotFoundException(string message,int codeException)
        : base(message)
    {
                  _codeException=codeException; 
    }
    public EmployeeListNotFoundException(string message, Exception inner)
        : base(message, inner)
    {
    }
   public int CodeException{get {return _codeException;} }
}

它是否坏取决于代码库的大小、应用程序或程序的类型以及体系结构。您可以将体系结构视为一组约束,对代码强制执行特定的"样式"。如果体系结构规定在全局范围内拥有东西是不好的,那么你应该避免它。如果你想把错误代码信息保留在全局范围上,我建议把你的只读字典包装在一个singleton中。