smalczyk1
smalczyk1
#naukaprogramowania #csharp #dotnet #api

Ktoś wie może dlaczego czasem przy pobieraniu danych przez API dostaje błąd.Część błędu https://pastebin.com/eRBuzsab.Łapie go catcha ale aplikacja i tak wisi. Na razie dodałem w tym catchu zamknięcie aplikacji,żeby harmonogram mógł uruchomić ją ponownie.To błąd po stronie API czy przewało połączenie ?
  • Najlepsze
  • Wszystkie komentarze
sokytsinolop
@smalczyk1: pewnie podajesz niepoprawny XML do parsera tj pewnie dostałeś od API html np. kod błedu
sokytsinolop
@smalczyk1: no ok
sokytsinolop
@smalczyk1: sprawdź czy mam rację i faktycznie tak się dzieje jeśli tak to obsłuż błąd
MikelThief
MikelThief
@smalczyk1: dostałeś time out. Czyli serwer albo nie zdążył odpowiedzieć albo nawet to do niego nie dotarło bo strzeliłeś w kosmos ewentualnie wyciął cię firewall w trakcie wykonywania żądania
MikelThief
MikelThief
@MikelThief: zainwestuj w naukę Polly :)
MikelThief
MikelThief
@smalczyk1: nie ma dobrej odpowiedzi co ma robić. Sam musisz się zastanowić czy chcesz żeby zadanir było powtórzone, ile razy, z jakim czasem oczekiwania. Chyba nie sądzisz że jak wystąpi jakiś wyjątek to każda aplikacja na świecie się składa i do widzenia?
MikelThief
MikelThief
@smalczyk1: jak znajdę chwilę w pracy to zobaczę
smalczyk1
smalczyk1
smalczyk1 Autor
0
@sokytsinolop: No ale to tylko czasem .Tak to normalnie działa
smalczyk1
smalczyk1
smalczyk1 Autor
0
@sokytsinolop: To co jak można tego uniknąć zostawić tak jak teraz i zamykać program ?
smalczyk1
smalczyk1
smalczyk1 Autor
0
Polly


@MikelThief: no zwykle zapytanie do API zwraca mi obiekt.To co najlepiej zrobić jak zwróci mi błąd powtórzyć requesta czy zamknąć program.

Ok zobaczę to polly tylko chciał bym jakoś dojść czy to moja wina czy od strony serwer czy od dostawcy API.
https://pastebin.com/jS4a8qy5
smalczyk1
smalczyk1
smalczyk1 Autor
0
@MikelThief: Nie no jasne,że tak nie sądzę tylko pytam jakie jest najbardziej optymalne rozwiązanie.Bo wchodzi w catch wyskakuje okno,że aplikacja zatrzymana i blokuje następne uruchomienie.Tak więc zrobię za twoją radą 3 próby i jak nie pójdzie to zamknę program.
MikelThief
MikelThief
@smalczyk1: możesz tak zrobić.
Jedyne czego się nie robi to zrobienie jakiejś rzeczy X w bloku try i w razie wyjątku zrobienie tego samego w bloku catch. Za to jest Luj Ogłuszacz od kolegi w potylicę ( ͡° ͜ʖ ͡°) no, chyba że próbujesz użyć API mailchimpa. Wtedy to jest normalne xD
smalczyk1
smalczyk1
smalczyk1 Autor
0
mailchimpa


@MikelThief: Hmm nie mam nigdzie odpowiedzi a Ty chyba tego Polly używasz dalczego mi nie wykonuje składni tylko od razu przeskakuje dalej za Policy