[Dresden-pm] Dresden-pm Nachrichtensammlung, Band 97, Eintrag 2

Hans-Dietrich Kirmse hd.kirmse at gmx.de
Di Okt 18 05:28:48 PDT 2011


Hallo Steffen, hallo Sebastian,

Am 18.10.2011 12:25, schrieb Steffen Winkler:
> Hallo,
>
> wird die Sub aufgerufen, dann kann man mit dem caller schauen woher.
> Hat man eine Sub aufgerufen und die endet mit einer Exception wie die, croak, confess, ..., dann muss man reagieren, also die Exception abfangen.
>
> Ich hatte das mit eval { ... } und $@ beschrieben, möchte aber noch hinweisen, dass http://search.cpan.org/perldoc?Try::Tiny die elegantere Variante ist. Da muss man nicht so mit den kryptischen Variablen wie $@ arbeiten.

Ich habe inzwischen das gesuchte Token für Zeilennummer wieder gefunden: 
__LINE__ (ich hatte nach __LINES__ gesucht und dadurch nicht gefunden). 
Damit ergibt sich zumindest für 'croak' (nicht für 'die'!) die m.E. 
einfache Lösung mit sowas wie:

  print 'Fehler im File ', __FILE__, ' in Zeile ', __LINE__ , " 
aufgetreten!\n";

Anm.: diese Zeile habe ich mal als einzige Zeile in eine Textdatei 
'test.txt' gesteckt und (unter Windows) mit 'perl test.txt' aufgerufen. 
Die Ausgabe sieht dann so aus:

   Fehler im File test.txt in Zeile 1 aufgetreten!


Zusammen mit einer ordentlichen Beschreibung (nach Perl Best Practices) 
und dann das "exit(errornummer)" und mein Problem ist erledigt. Es wird 
in dem Buch bis auf eine Ausnahme eh 'croak' statt 'die' empfohlen, also 
ist das nach meinem derzeitigen Kenntnisstand die optimale Lösung.

Nochmals meinen Dank.

viele Grüße
Hans-Dietrich



Mehr Informationen über die Mailingliste Dresden-pm