Я играю с обработкой ошибок и получаю небольшую проблему. Я подключаюсь к базе данных с помощью модуля DBI.Perl: ошибка catch без матрицы
Выполняю свою собственную обработку ошибок с помощью подпрограммы, которую я вызываю при ошибке.
я могу поймать мои собственные плашки и обрабатывать их только нормально, но когда мое подключение к базе данных не удается, модуль DBI, видимо, выводит его собственный кубик:
DBI connect(...) failed: ORA-12154: TNS:could not resolve the connect identifier specified (DBD ERROR: OCIServerAttach) at ...
Как бы я идти о ловле это?
Я попытался с помощью $SIG{__DIE__}
так:
local $SIG{__DIE__} = sub {
my $e = shift;
print "Error: " .$e;
};
Это на дне моего основного файла, в этом файле я также производится вызов подпрограммы, которая доступна в модуле самостоятельно. Я также попытался поставить этот кусок кода на день моего модуля, но он по-прежнему печатает ошибку без
Error:
перед ним.
Правильно, это было предупреждение, а не смерть, и сначала нужно установить обработчик. Вы можете установить его в любом модуле, если вы завернете его в 'BEGIN {}'. – Ether
прочитайте, что, благодарю вас за подтверждение. – Pmarcoen