Я пытаюсь выполнить какой-то оператор, который не будет выполнен, в методе do()
с флагом DBI RaiseError
, но он не вызывает исключение.
use strict;
use warnings;
use DBI;
my $dbh = DBI->connect("DBI:mysql:database=test;host=192.168.10.101",
"test", "123456", {'RaiseError' => 1});
eval { $dbh->do("DROP TABLE foo") }; # foo table not exist
if ($@) {
print "Dropping foo failed: $@\n";
} else {
print "ok\n";
}
Этот код возвращает ok
вместо ошибки.
У меня эта проблема только на Windows 7. (Когда я запускаю этот код в Linux, возникает исключение.) Это ошибка?
Версия Perl: 5.16.3,
Версия DBI: 1.623,
DBD :: mysql версия: 4.022