Jemand, der im Jahr 2010 noch so einen Programmierstil propagiert, wie du es getan hast, ist nicht besser als Arzt, der nicht die Existenz und Wirkung von Bakterien anerkennt.
Warum so aggressiv?
Diese Getöse hilft mir nicht weiter. An anderen herumzumäklen aber dem Hilfesuchenden selbst keine konkreten Vorschläge machen!
Naja
Vielleicht sollte man den Patienten erst mal anschauen, bevor man Antibiotika verschreibt.
Wir haben uns ja nicht über die Art der möglichen Fehler unterhalten, was sie für den programmablauf bedeuten etc.
Es gibt Fälle, wo try{}catch{} möglich ist. Jedoch fand ich besher noch keinen solchen Fall. Ich war mit eval{} or do{} auch gut bedient.
die();
Du setzt etwas voraus, das gut dokumentiert ist.
open( my $fh, "<", $file) or die($file. " is missing! $!");
croak() ist die Variante, die man in Modulen anwendet, um den Fehler aus der Sicht des callers (also dem use'enden Script ) auszugeben.
Du hast ein Plugin als Perl Modul, und dieses Modul wird durch eine API nun aufgerufen. However, wir wissen nicht, ob das Plugin auch existiert an seinem Ort.
Hier so ein Fall. Übergeben wird der name eines Plugins.
$plugin = "gibt es nicht";
eval{
require( 'EHFPlugins/'.$plugin.'.pm' );
1;
} or do {
# informative Fehler-Hinweise für den CMS Betreiber.
my $file = $Path{cgidir} . "EHFPlugins/". $plugin .'.pm';
( -e $file ) or return '<div class="warning">Plugin '.$plugin.'.pm konnte nicht gefunden werden.</div>';
( -r $file ) or return '<div class="warning">Plugin '.$plugin.'.pm hat keine Leserechte.</div>';
return '<div class="warning">Plugin '.$plugin
. ' ('. $plugin .'.pm) konnte unerwartet nicht gestartet werden.<br>'
.$@.'</div>';
};
Das ist ein Fall wo ich eine klare Message an den Browser senden will.
Dann gibt es einfach Fälle wo du Userinput behandeln musst, der Userinput aber nicht valide ist.
Hier willst du zum Beispiel alle Fehler, die ein Formular betreffen, sammeln, und dann gemeinsam ausgeben, zusammen mit dem Formular mit den bisherigen Daten.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische