0

沿着这些路线有可能吗?使用 Visual Studio(我猜这是一种与语言无关的语言,但我使用的是 C#),预编译,我想以某种方式注入和替换具有唯一 ID 的值(或数字很好!)。

例如

public void HelloWorld (
{
    {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME}
    var someVar = "Error Code#";

    console.print(someVar + {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME})

}

因此,对于每个函数,我将拥有 {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME} 并且它将是该函数的唯一 ID,在整个解决方案中的每个文件中。它不需要像 GUID 这样复杂的东西,理想情况下它只是添加时的增量数字,但添加后不会更改。此数字用于标识错误代码的功能 - 因此即使消息是通用的“出现问题”,我也可以跟踪错误源自何处,例如“错误代码 #445 出现问题”、“错误代码 #6778出问题了”。

4

2 回答 2

0

在 C# 中,您可以从代码中获取方法名称,例如:

public void HelloWorld()
{
    ShowError();
}

static void ShowError([System.Runtime.CompilerServices.CallerMemberName] string caller = null)
{
    Console.WriteLine("Error Code for " + caller);
}

它将打印:“HelloWorld 的错误代码”。

于 2019-10-09T04:47:44.640 回答
0

我认为你应该自己管理。

想一想:

如果您在说“错误代码 #445 出现问题”时收到错误报告,那么您要做的第一件事就是在代码库中搜索“445”以找到原始代码 - 但您将找不到任何与您的方案有关的内容正在描述,因为错误的实际来源只会说 {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME}。

另一方面,如果您只是自己管理它并编写如下内容:

int errorCode = 445;

...并始终在代码中保持相同的模式,然后在需要查找 445 的调试情况下,您实际上可以在代码库中搜索 445 并找到错误的来源。

于 2019-10-08T17:16:24.607 回答