AvoidUsingEmptyCatchBlock

严重性级别:警告

Description

该规则用于检测空 catch 方块。 空的捕获块存在问题,因为它们无声地抑制异常,无需错误处理、日志记录或恢复操作。 这会掩盖漏洞,使排查变得困难。 异常处理时应始终通过 log Write-Error 错误、 throw 传播错误或在捕获块内提供适当的恢复逻辑来明确处理异常。

Example

非符合性

try
{
    1/0
}
catch [DivideByZeroException]
{
}

合规的

try
{
    1/0
}
catch [DivideByZeroException]
{
    Write-Error 'DivideByZeroException'
}

try
{
    1/0
}
catch [DivideByZeroException]
{
    throw 'DivideByZeroException'
}