Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]13032[/thread]

Ausgabe von $@->print() per email versenden

Leser: 2


<< >> 8 Einträge, 1 Seite
Superfrank
 2009-01-21 16:23
#118209 #118209
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe ein paar eval()-Blöcke und möchte per email informiert werden, wenn etwas schiefgeht.

Wenn das Script über Kommandozeile aufgerufen wird und einen Fehler enthält, wird das mit

Code (perl): (dl )
1
2
3
4
5
6
7
8
if ($@) {
        if ( ref($@) ) {
                $@->print();
        }
        else {
                print($@);
        }
}


ausgegeben aber es gelingt mir nicht die Ausgabe von "$@->print()" in eine Variable zu speichern, z.B. mit

Code (perl): (dl )
my $error = $@->print();


Hat da wer einen heissen Tip für mich?

Viele Grüsse

Frank
renee
 2009-01-21 16:32
#118211 #118211
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Warum stringifizierst Du es nicht einfach mit "$@"? Oder gibt das print noch mehr aus?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Superfrank
 2009-01-21 16:48
#118213 #118213
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo Rene,
habs gerade rausgefunden. Mit

Code (perl): (dl )
my $error = $@->as_string(); 


funktioniert es.

Viele Grüsse

Frank
Taulmarill
 2009-01-21 17:49
#118217 #118217
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
In welchem Fall wird $@ denn überhaupt mit einer Referenz gefüllt? Bei mir finde ich da eigentlich immer nur den String der Fehlermeldung.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
renee
 2009-01-21 18:14
#118224 #118224
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bei Verwendung von CPAN:autodie auf jeden Fall.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Superfrank
 2009-01-21 18:25
#118225 #118225
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Taulmarill+2009-01-21 16:49:02--
In welchem Fall wird $@ denn überhaupt mit einer Referenz gefüllt? Bei mir finde ich da eigentlich immer nur den String der Fehlermeldung.


bei meinem Fall mit dem Modul

CPAN:Net::DRI::Exception

Viele Grüsse

Frank
betterworld
 2009-01-22 04:48
#118227 #118227
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Hm, oder mit CPAN:Devel::DollarAt :)
Aber das hat keine print-Methode.
pq
 2009-01-22 11:11
#118229 #118229
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Taulmarill+2009-01-21 16:49:02--
In welchem Fall wird $@ denn überhaupt mit einer Referenz gefüllt? Bei mir finde ich da eigentlich immer nur den String der Fehlermeldung.

z.b. bei
Code (perl): (dl )
die $object;

ist nützlich für exception-handling.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 8 Einträge, 1 Seite



View all threads created 2009-01-21 16:23.