Thread Wartezeit erhöhen in http.pm?
(14 answers)
Opened by gubach at 2013-01-28 14:43
Naja, da ich Deinen Code nicht habe, hier ein kleines Anschauungsbeispiel:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #! /usr/bin/perl use strict; use warnings; sub selfkill { # Zufall bestimmen; mal stirbt das Skript, mal nicht int(rand(2)) == int(rand(2)) ? die "Nu ist Schluss...\n" : return 0; } # Sollte selfkill ein die() ausrufen, wird das vom eval # aufgefangen; und das Ergebnis sollte direkt kontrolliert werden # die 1 ist wichtig; sollte selfkill nicht sterben, dann liefert # der Code-Block dank der 1 ein wahres Ergebnis und das # "or warn..." wird nicht ausgeführt eval { selfkill(); 1; } or warn "selfkill() hat zugeschlagen: $@\n"; # Ausgaben, um zu zeigen, dass wir noch leben print "ich lebe noch....\n"; print "bis jetzt...\n"; # "normaler" Aufruf, der uns beendet selfkill(); selfkill() ist eine Funktion, die via die() das Programm beenden kann, je nachdem, wie der Zufall so spielt. Daher rufe ich die Funktion in einem eval-Block auf und werte dann das Resultat des eval aus. Sollte das die() zugeschlagen haben, steht die Meldung in $@. Wenn in Deinem Fall $photoid = $ua->upload() der kritische Code ist, dann lege diesen in den eval-Block... meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |