【发布时间】:2019-11-08 05:29:45
【问题描述】:
我有一个相对简单的问题,但我想答案可能并非如此。简而言之:为什么有些错误是无声的?
我知道当几乎任何意外(来自程序的 POV)发生时,就会发生错误。这让我认为,当这种情况发生时,错误消息应该提供尽可能多的信息,说明错误发生的原因和/或如何发生。所以对我来说,有些人会被沉默似乎是自相矛盾的。
我认为这几乎适用于任何语言,我只想知道何时何地消除错误是有用的以及为什么。
感谢您的宝贵时间:)
【问题讨论】:
我有一个相对简单的问题,但我想答案可能并非如此。简而言之:为什么有些错误是无声的?
我知道当几乎任何意外(来自程序的 POV)发生时,就会发生错误。这让我认为,当这种情况发生时,错误消息应该提供尽可能多的信息,说明错误发生的原因和/或如何发生。所以对我来说,有些人会被沉默似乎是自相矛盾的。
我认为这几乎适用于任何语言,我只想知道何时何地消除错误是有用的以及为什么。
感谢您的宝贵时间:)
【问题讨论】:
静默错误是未通知用户的错误,因为未检测到错误或通知用户没有多大意义。是否检测到错误或通知用户可能取决于各种组件,如编译器、操作系统、硬件等。
在未检测到的错误中,可能会被 0 除,这会产生未定义的行为。
通知可能没有意义的错误可能是注销/关闭期间发生的错误,或者如果用户只能在错误发生很久之后才收到通知,请参阅here(在此处搜索静默)。
【讨论】: