Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]nie chce konczyc programu gdy skrypt wyrzuca blad
Andrzej1884
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.11.2010
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Sytuacja jest taka, program wystawiający aukcje, raz na jakies czas przy metodzie doNewAuctionExt wyrzuca błąd, bo to zly numer EAN, lub coś innego ( mimo, że EAN zawsze sprawdzam, poprzeż liczenie sumy kontrolnej, no ale już nie dochodzę o co w tym chodzi bo to nie takie istotne ) chodzi o to, że wcześniej ten sam program, po tego typu błędzie leciał dalej, a teraz kończy swoje działanie i muszę go uruchamiać ręcznie jeszcze raz, nie mogę tego rozkminić, w programie mam 2 metody jedna wychwytujące błedy druga wyjatki, obie metody wyrzucaja "ładnie błędy na ekran" ( skrypt CLI ) i loguja w pliku, natomiast nie mają zadania wyjścia z programu.... ma ktoś pomysł, czy coś da się z tym zrobić.... wklejanie kodu chyba nie jest potrzebne chodzi ogólnie o myśl co to może być, jak to się robi itp. ...mi przychodzi tylko jedna myśl, że wcześniej metoda doNewAuctionExt zwracałą normalny błąd a teraz fatal błąd (IMG:style_emoticons/default/wink.gif) choć allegro twierdzi, że w metodzie nic nie ruszało.. ja natomiast w skrypcie sporo zmieniałem

Dzięki za odpowiedzi Andrzej
Go to the top of the page
+Quote Post
YourFrog
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 22
Dołączył: 10.01.2014

Ostrzeżenie: (0%)
-----


Moja kryształowa kula mówi że jednak potrzebujemy kawałka kodu. Jeżeli wyrzuca ci fatal error to nic nie poradzisz taki jest PHP ale wątpie żeby ci dawał fatala. Jeżeli problem jest z max_timeout to php -q rozwiazuje sprawę bo jak się bawiłem w sockety na php to tak odpalałem skrypty.
Go to the top of the page
+Quote Post
Andrzej1884
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.11.2010
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Wiec takie 2 metody obsluguja mi bledy w calym skrypcie

CODE
set_error_handler( 'error_handler' );
set_exception_handler( 'exception_handler' );

function error_handler( $code, $message, $file = 0, $line = 0 )
{
$all = "Błąd: $code \nTreść: $message \nPlik: $file \nLinia: $line\n";

print $all;

$all = "\n".date('H:m:s')." ".$all;

error_log( $all, 3, 'log/log'.date('y-m-d').'.txt' );

}

function exception_handler( $e )
{
error_handler( $e->getCode(), $e->getMessage(), $e->getFile(), $e->getLine() );
}


natomiast błąd jest wyrzucany przez następującą funkcje klasy Allegro
CODE
public function wystaw_aukcje( $localId )
{
$this->fields = array(
'sessionHandle' => self::$sessionId,
'fields' => $this->fields,
'localId' => $localId,
);

return self::$soapClient->doNewAuctionExt( $this->fields );
}


funkcje wystaw_aukcje wywołuje już w programie głównym wszystkie pola są poprawne, bo średnio na 500 aukcji wyskoczy jeden błąd zależy mi poprostu na tym, żeby ten błąd nie przerywał programu
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


umieść wywołanie soap w bloku try {} , w cactch zwracaj true/false a poniżej ew. zawartość z wywołania
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No jesli tamta klasa pluje ci wyjątkiem, a ty go nie przechwytujesz, to niestety, wylozy ci sie program....
set_exception_handler sluzy czemu innemu niz myslales
http://pl1.php.net/manual/en/function.set-...ion-handler.php
Obejrzyj podany tam przyklad.
Go to the top of the page
+Quote Post
Andrzej1884
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.11.2010
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Dzięki Panowie, rzeczywiście jak wół napisane "Execution will stop after the exception_handler is called. ", jeszcze raz dzięki!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 08:46