【发布时间】:2019-12-12 21:59:09
【问题描述】:
我正在使用一个编程工具(编译器或 IDE 或其他工具),当我使用它时,它会报告一个带有一些难以理解的细节的“内部错误”。我想修复这个错误。我该怎么办?
【问题讨论】:
-
鼓励我自己回答这个问题。
标签: compiler-errors ide language-agnostic
我正在使用一个编程工具(编译器或 IDE 或其他工具),当我使用它时,它会报告一个带有一些难以理解的细节的“内部错误”。我想修复这个错误。我该怎么办?
【问题讨论】:
标签: compiler-errors ide language-agnostic
编程工具必须报告程序中的错误,例如代码中的语法错误、运行时的运行时错误以及测试时的测试失败,以便您修复代码。但是那个编程工具本身是一个计算机程序,所以本身里面可能有错误。复杂程序的细心程序员包括自检以检测未知错误的后果。如果其中一个自检失败,程序员将安排程序报告有关自检失败的信息。为了防止您的代码中的错误与工具本身中的错误之间的混淆,通常将工具本身中的错误称为内部错误。
在许多编程语言中,使用assertions 完成自检,并以stack-trace 的形式提供有关失败的信息。
那么,如何修复内部错误? 你不能。错误不在您的代码中。只有编程工具的开发者才能修复它。但这并不意味着您无能为力。
如果您使用的是旧版本的编程工具,则该工具的新版本可能已经解决了该问题。因此,请考虑更新或升级您的编程工具。
如果您的代码使用了不寻常或新的编程结构,则可能是工具存在问题因为这些结构是新的或不寻常的,因此没有相关的通过频繁使用检测并消除错误。因此,请考虑重写您的代码,不要在您的代码中似乎触发了内部错误的部分使用任何不寻常的或新的编程结构。
如果您使用的是最新版本的编程工具,请考虑向该工具的开发人员提交错误报告。
【讨论】: