为什么有些错误是无声的?

Why are some errors silent?

我有一个相对简单的问题,但我想答案可能并非如此。简而言之:为什么有些错误是无声的?

我知道当几乎任何意想不到的事情(来自程序的 POV)发生时,就会抛出错误。这让我想到,当发生这种情况时,错误消息应该提供尽可能多的信息,说明为什么 and/or 错误是如何发生的。所以对我来说有些人会被沉默似乎是自相矛盾的。

我认为这几乎适用于任何语言,并且只想知道何时何地消除错误有用以及为什么。

感谢您的宝贵时间:)

静默错误是未通知用户的错误,要么是因为未检测到错误,要么是因为通知用户没有多大意义。是否检测到错误或通知用户可能取决于各种组件,如编译器、操作系统、硬件等。
在未检测到的错误中可能除以 0,这给出了未定义的行为。
在通知可能没有意义的错误中,可能是在 logout/shutdown 期间发生的错误,或者如果用户只能在错误发生很久之后才收到通知,请参阅 here(在那里搜索静默)。