Questo è un seguito per "How can I get around a ‘die’ call in a Perl library I can’t modify?".Come gestisco entrambi gli errori rilevati e non rilevati in una subroutine Perl?
Ho una subroutine che chiama una libreria-quale-crash-A volte molte volte. Invece di divano ogni chiamata all'interno di questa subroutine con un eval {}, ho solo permettono di morire, e utilizzare un eval {} al livello che chiama il mio subroutine:
my $status=eval{function($param);};
unless($status){print [email protected]; next;}; # print error and go to
# next file if function() fails
Tuttavia, ci sono condizioni di errore che ho può e fa prendere in funzione(). Qual è il modo più corretto/elegante per progettare l'intercettazione degli errori nella subroutine e nella routine di chiamata in modo da ottenere il comportamento corretto sia per gli errori rilevati che per quelli non rilevati?
Le parentesi sembrano spiffy! +1 – Axeman
Bene, li ho lucidati stamattina. –