我不是程序员:'throw' 是指特定的代码元素还是像 'show' 这样的通用术语?

I'm not a programmer: does 'throw' mean a specific code element or is a general term like 'show'?

例如:

An unguarded throw of type {0} was detected. Refactor this code to either throw an exception of type InvalidPluginExecutionException or guard against thrown exceptions of other types.

第一个 'throw' 是什么意思?它是 'show' 或 'return' 的同义词吗?

大多数语言允许 "throwing" 的异常。如果一个函数抛出异常,则意味着它在某些逻辑路径下选择不优雅地处理问题,而是将其传递给用户来处理。

在你的情况下,它似乎是:

  • 您使用的是打字语言
  • 编译器知道哪些函数抛出异常
  • 编译器不允许/警告未处理的(未保护的)异常

您可能使用的函数在某些情况下会抛出异常,而您的代码不会"catch"(处理)该异常,导致某些情况下您的代码隐式抛出异常,尽管您没有明确编写任何异常抛出代码。编译器告诉您通过处理异常来处理隐式情况(在大多数语言中,这是通过某种 "try..catch" 完成的)和:

  • 显式抛出异常
  • 优雅地处理异常