将抛出的异常更改为失败的简洁方法?

Succinct way to change thrown Exception to Failure?

是否有比以下方法更简洁的方法来解除抛出的失败异常?

try {
    die 'always';
    CATCH { default { fail $_ } }
}

try 块是多余的

die 'always';
CATCH { default { fail $_; } }

但我不担心保存键入的字符。您的意图清晰且可读性强。

以表达您的意图或可读性为代价来保存键入的字符可能在 Perl 的遗产中占有一席之地,但它不是您希望自己进行维护编程的地方。

try something();
fail $! if $!;

请注意,CATCH 块适用于同一范围内的所有语句,甚至适用于 CATCH 块之后的代码。因此,如果您想使用 CATCH 块,请注意保持范围小。

这是莫里茨代码的更简洁版本。

(try something()) orelse fail $!;