![]() |
|< 1 2 >| | ![]() |
17 Einträge, 2 Seiten |
2009-03-30T06:29:47 neposWobei man das 1; auch weglassen kann und halt mit if ($@) { ... } den Fehler abfangen kann. Ist halt Geschmackssache.
2009-03-30T08:24:40 renee2009-03-30T06:29:47 neposWobei man das 1; auch weglassen kann und halt mit if ($@) { ... } den Fehler abfangen kann. Ist halt Geschmackssache.
Es gibt rein theoretisch Race Conditions, die $@ neu setzen können zwischen dem eval und dem if($@)...
2009-03-30T09:42:37 neposWenn ich $@ direkt hinter dem eval abfrage, kann da doch eigentlich nichts schiefgehen. Ausser vielleicht, man hat Threads im Spiel, aber das will man eigentlich eh nicht.
1
2
12:22 <@moritz> buubot: eval: sub DESTROY { eval '2' }; eval 'my $x = bless {}; die "here"'; $@
12:22 <+buubot> moritz: ""
2009-03-30T08:24:40 reneeEs gibt rein theoretisch Race Conditions, die $@ neu setzen können zwischen dem eval und dem if($@)...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ perl -wle'
sub Foo::DESTROY { eval { print "everything ok" }; }
eval {
my $o = bless {}, "Foo";
die;
};
if ($@) {
print "ERROR: $@";
}
else {
print "no error"
}'
everything ok
no error
![]() |
|< 1 2 >| | ![]() |
17 Einträge, 2 Seiten |