在异常中§

有关子警告,请参阅主要文档 在上下文中

multi warn(*@message)

抛出可恢复的警告异常,该异常被视为控制异常,因此大多数正常的异常处理程序都看不到它。最外层的控制处理程序会将警告打印到 $*ERR。打印警告后,异常将在抛出它的位置恢复。要覆盖此行为,请在 CONTROL 块中捕获异常。quietly {...} 块与 try {...} 块相反,因为它会抑制任何警告,但会传递致命异常。

要简单地打印到 $*ERR,请改用 notewarn 应该保留在威胁情况下使用,而此时您不太想抛出异常。

warn "Warning message";