将抛出的异常更改为失败的简洁方法?
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 $!;
是否有比以下方法更简洁的方法来解除抛出的失败异常?
try {
die 'always';
CATCH { default { fail $_ } }
}
try 块是多余的
die 'always';
CATCH { default { fail $_; } }
但我不担心保存键入的字符。您的意图清晰且可读性强。
以表达您的意图或可读性为代价来保存键入的字符可能在 Perl 的遗产中占有一席之地,但它不是您希望自己进行维护编程的地方。
try something();
fail $! if $!;
请注意,CATCH
块适用于同一范围内的所有语句,甚至适用于 CATCH
块之后的代码。因此,如果您想使用 CATCH 块,请注意保持范围小。
这是莫里茨代码的更简洁版本。
(try something()) orelse fail $!;