Мне нужно знать, как настроить собственные ошибки на Perl. Например, вот некоторый код:Perl - Пользовательский выход ошибки
my $filename = 'filaname1.exe';
print "Copying $filename";
copy("$dir_root\\$filename", "$spcl_dir\\$filename");
if ($? == "0") {
print " - Success!\n";
}
else { print " - Failure!\n"; }
Я попытался написать это и «поймать» ошибку и напечатать «Failure», когда я не получить код завершения 0, и печать «Успех», когда я делаю , Мне нужно знать, как я могу настроить это; Я действительно не хочу использовать die
или что-то в этом роде, где он даст несколько загадочную ошибку (конечному пользователю).
Спасибо!
Использование/косая черта/нет \\\\ обратная коса \\\\ в/путь/имена. – tchrist 2010-11-26 00:15:53
Если `die` дает таинственные и непонятные сообщения, на вашей голове, так как вы - тот, кто передает критический аргумент` die`. У вас больше никто не виноват. – tchrist 2010-11-26 00:17:56
Это ** ужасные сообщения об ошибках. Хорошее сообщение об ошибке [1] относится к `STDERR` [2], включая` $ 0`, имя программы, которая встретила ошибку как минимум, и, возможно, имя функции; внутренние ошибки обычно также дают трассировку стека [3], включая `$!`, стандартное системное сообщение об ошибке, где оно подходит, или, возможно, `$?` или `$ @` иначе [4] указывает имя неудачного syscall [5 ] перечисляет аргументы, которые вы дали этому вызову. В вашем сообщении игнорируются все или почти все эти пять правил для сообщений об ошибках. – tchrist 2010-11-26 00:21:49