У меня есть блок try-catch (из модуля TryCatch) в моем скрипте, и я хочу напечатать сообщение об ошибке из блока try
в блоке catch
. Похоже, что переменная ошибки является локальным для try
блока:Как я могу напечатать сообщение об ошибке из блока try в блоке catch с помощью TryCatch.pm?
use TryCatch;
...
try {
some command;
}
catch {
print "some command failed due to: [email protected]";
# error variable [email protected] is not visible here
return;
}
Есть ли другой способ сделать это?
Если вы используете Try :: Tiny, в блоке 'catch {}' ошибка будет найдена в '$ _'. – DavidO
Try :: Catch делает это так же: '$ _', а TryCatch предоставляет' $ @ '(за свои документы) – DavidO
@DavidO Документы TryCatch ошибочны в отношении' $ @ ', см. [Этот билет] (https: //rt.cpan.org/Public/Bug/Display.html?id=49072). Исходя из количества незафиксированных проблем, вместо этого я использовал Try :: Tiny. – ThisSuitIsBlackNot