MT#61800 perl: Use native try/catch keywords

This makes the code more ergonomic.

Change-Id: I2198f0841e616308e13337a2d547b4c04990f413
master
Guillem Jover 2 months ago
parent e729c5038f
commit 9a20429532

@ -332,7 +332,7 @@ sub do_sync_general_timezone {
my $ok = 1; my $ok = 1;
my ($sql_log_bin) = $dbh->selectrow_array('SELECT @@sql_log_bin'); my ($sql_log_bin) = $dbh->selectrow_array('SELECT @@sql_log_bin');
eval { try {
die "Error: general.timezone value is not set\n" unless $tz; die "Error: general.timezone value is not set\n" unless $tz;
$dbh->do("SET sql_log_bin=0"); $dbh->do("SET sql_log_bin=0");
@ -353,9 +353,8 @@ SQL
if ($DBI::err) { if ($DBI::err) {
die "Error: Could not insert into ngcp.timezone: $DBI::errstr\n"; die "Error: Could not insert into ngcp.timezone: $DBI::errstr\n";
} }
}; } catch ($e) {
if ($@) { print $e;
print $@;
$ok = 0; $ok = 0;
} }
$dbh->do("SET sql_log_bin=$sql_log_bin"); $dbh->do("SET sql_log_bin=$sql_log_bin");
@ -378,7 +377,7 @@ sub do_sync_db_timezones {
chomp $tzinfo_version; chomp $tzinfo_version;
my $sql = ''; my $sql = '';
eval { try {
$dbh->begin_work() or die "Cannot start tx: $DBI::errstr\n"; $dbh->begin_work() or die "Cannot start tx: $DBI::errstr\n";
my ($cur_tzinfo_version) = $dbh->selectrow_array(<<SQL) my ($cur_tzinfo_version) = $dbh->selectrow_array(<<SQL)
SELECT version SELECT version
@ -429,10 +428,8 @@ INSERT INTO ngcp.tzinfo_version SET version = ?
ON DUPLICATE KEY UPDATE version = ?, modified_at = CURRENT_TIMESTAMP ON DUPLICATE KEY UPDATE version = ?, modified_at = CURRENT_TIMESTAMP
SQL SQL
or die "Cannot insert into ngcp.tzinfo_version: $DBI::errstr\n"; or die "Cannot insert into ngcp.tzinfo_version: $DBI::errstr\n";
}; } catch ($e) {
my $err = $EVAL_ERROR; print $e;
if ($err) {
print $err;
$dbh->rollback(); $dbh->rollback();
return; return;
} }
@ -453,7 +450,7 @@ sub do_sync_timezone_version {
} }
my $sql = ''; my $sql = '';
eval { try {
$dbh->begin_work() or die "Cannot start tx: $DBI::errstr\n"; $dbh->begin_work() or die "Cannot start tx: $DBI::errstr\n";
my ($cur_tz_version) = $dbh->selectrow_array(<<SQL) my ($cur_tz_version) = $dbh->selectrow_array(<<SQL)
SELECT COALESCE(version,'') SELECT COALESCE(version,'')
@ -486,10 +483,8 @@ SQL
UPDATE ngcp.timezone SET version = ? UPDATE ngcp.timezone SET version = ?
SQL SQL
or die "Cannot update ngcp.timezone: $DBI::errstr\n"; or die "Cannot update ngcp.timezone: $DBI::errstr\n";
}; } catch ($e) {
my $err = $EVAL_ERROR; print $e;
if ($err) {
print $err;
$dbh->rollback(); $dbh->rollback();
return; return;
} }

@ -211,14 +211,12 @@ sub process_input {
# Assume safe defaults. # Assume safe defaults.
umask 0077; umask 0077;
eval { try {
process_template($tt, $config, $input, $output); process_template($tt, $config, $input, $output);
};
if ($@) {
warn $@;
error("Generating $output based on $input: FAILED");
} else {
info("Generating $output: OK"); info("Generating $output: OK");
} catch ($e) {
warn $e;
error("Generating $output based on $input: FAILED");
} }
# Execute postbuild script. # Execute postbuild script.

@ -261,12 +261,12 @@ if (defined $ENV{NGCP_KWALIFY_VERBOSE}) {
my $errors = 0; my $errors = 0;
eval { try {
Kwalify::validate($schema, $yaml); Kwalify::validate($schema, $yaml);
} or do { } catch ($e) {
warn $@; warn $e;
$errors++; $errors++;
}; }
# Perform out-of-schema checks. # Perform out-of-schema checks.
$errors += miss_check(\%miss_peer, '[/hosts/<host>] Missing peer'); $errors += miss_check(\%miss_peer, '[/hosts/<host>] Missing peer');

@ -284,10 +284,11 @@ sub flush_privs {
} }
sub main { sub main {
eval { try {
$yml = YAML::XS::LoadFile($CONSTANTS_YML); $yml = YAML::XS::LoadFile($CONSTANTS_YML);
}; } catch ($e) {
die "Can't read constants file: $EVAL_ERROR\n" if $EVAL_ERROR; die "Can't read constants file: $e\n";
}
my ($dbhost, $dbport); my ($dbhost, $dbport);
if (my $db_cfg = Config::Tiny->read($DB_CFG)) { if (my $db_cfg = Config::Tiny->read($DB_CFG)) {
@ -315,8 +316,7 @@ sub main {
$dbh->begin_work or die "Cannot start transaction: $DBI::errstr\n"; $dbh->begin_work or die "Cannot start transaction: $DBI::errstr\n";
eval { try {
my $rc = sync_mysql_data(); my $rc = sync_mysql_data();
if ($rc) { if ($rc) {
@ -324,11 +324,10 @@ sub main {
} else { } else {
log_debug("nothing to update"); log_debug("nothing to update");
} }
}; } catch ($e) {
if ($@) {
$dbh->rollback if $dbh; $dbh->rollback if $dbh;
$dbh->disconnect if $dbh; $dbh->disconnect if $dbh;
die "Error: $@"; die "Error: $e";
} }
$dbh->commit if $dbh; $dbh->commit if $dbh;

@ -493,7 +493,7 @@ sub main {
$dbh->begin_work or die "Cannot start transaction: $DBI::errstr\n"; $dbh->begin_work or die "Cannot start transaction: $DBI::errstr\n";
eval { try {
my $rc = 0; my $rc = 0;
create_protected_user($TEMP_GRANT_USER, $TEMP_GRANT_HOST); create_protected_user($TEMP_GRANT_USER, $TEMP_GRANT_HOST);
@ -520,11 +520,10 @@ sub main {
if ($rc) { if ($rc) {
flush_privs(); flush_privs();
} }
}; } catch ($e) {
if ($@) {
$dbh->rollback if $dbh; $dbh->rollback if $dbh;
$dbh->disconnect if $dbh; $dbh->disconnect if $dbh;
die "Error: $@"; die "Error: $e";
} }
$dbh->commit or die "Cannot commit transaction: $DBI::errstr\n"; $dbh->commit or die "Cannot commit transaction: $DBI::errstr\n";

Loading…
Cancel
Save