Komentáře k článku

Došlo k chybě ve skriptu

Omlouváme se, ale článek, který na serveru hledáte, tu pravděpodobně není. Možná ho někdo smazal, možná tu nikdy nebyl, možná jste se uklepli v adrese. Server možná ztratil spojení s databází. Máte nepodporovaný prohlížeč. Došlo k obecné chybě. Omlouváme se. Zkuste to za chvíli znovu… Co s tím uděláme?

Zpět na článek

13 komentářů k článku Došlo k chybě ve skriptu:

  1. srigi

    Riesenie try/catch v JS

    Prave vcera som pozeral prednasku Nicholasa Zakasa – Scalable JavaScript Application Architecture, kde sa aj okrajovo dotkol „handlovania“ chyb. Totiz napr. v PHP frameworkoch toto uz za nas vyriesili autori frameworkov, napr. tak ze do tzv. dispatch loop umiestnili ten velky try/catch blok.

    JS aplikacie su ale riadene diametralne odlisne, akcie od uzivatela malokedy idu cez nejaky centralny FrontController. Skor sa v nich stretneme s tzv. PubSub technikou spracovania poziadaviek. A prave v Zachovej prednaske mozno najst drobny snippet ako to mozno riesit. Nejaky Core pri instancovani modulu prejde vsetky metody modulu a obali ich try/catch blokom, aby ich Core zachytil.

    Ale priznam sa, ze aj window.onerror nevypada na zlu techniku, otazkou je ako je tato technika prenositelna, ked window nie je nativny objekt a u Node.js s nou asi zatial nepochodime.

  2. Gappa

    Firefox vs onerror a problém s cizími chybami

    „Podpora v prohlížečích je silně nevyvážená: IE tuto konstrukci podporuje od verze 5.5 (!), FF od verze 6, Chrome od verze 13, Safari od 5.1 a Opera od verze 11.60. Nelze to tedy nazvat jednoznačně „novinkou“.“

    Neřekl bych, že Firefox podporuje až od verze 6, protože v logu generovaném právě pomocí onerror mám několik z Firefox/3.6.23 a na StackOverflow to podle komentářů funguje i v 3.0.x :)

    Info o chybě posílám pomocí „new Image“ způsobu, ale to je celkem už detail. Spíš mám problém s tím, že tam je strašné množství balastu a chyb, za které (předpokládám) nemůže web.

    Jedná se např. o chyby XUL rozhraní ve Firefoxu, „error loading script“ od zablokovaného načítání ga.js nebo fb skriptů a pak také „různé divnoty“ při přesměrování z výsledků vyhledávání googlu – že nelze načíst script z např. takového url: http://d3lvr7yuk4uaui.cloudfront.net/items/domains/f/{nazev_domeny}.js

    Každopádně je to užitečná věc, kterou by lidé měli znát :)

    1. nothrem

      Re: Firefox vs onerror a problém s cizími chybami

      Tohle je právě problém odchytávání „všech chyb“. Moderní prohlížeče bez výjimky podporují rozšíření, které běží na JS ve stejném scopu.
      Pak musíte rozlišit, co je skutečně vaše chyba a co je chyba pluginu (např. zmíněná chyba s „{nazev_domeny}.js“ je chyba pluginu Babylon Pro translator, který jede metodou pokus-omyl).
      Pozor také na to, že nejnovější verze prohlížečů vracejí ‚záhadnou‘ chybu „Scripr error. file: index.html, line: 0“, která v překladu znamená „chyba je ve skriptu, ke kterému kvůli bezpečnosti nemáte práva“ (a tudíž ji můžete ignorovat).

      BTW nechápu proč je článek tak dlouhý, když stačilo napsat „Chyby chytejte ve window.onerror a pak si je pošlete přes AJAX nebo IMAGE na server.“ a přidat dva příklady.

  3. Čtenář

    Úsměvné

    Po kliknutí na odkaz v RSS čtečce mě server přivítal hláškou: „An internal server error occurred. Please try again later.“

    1. Laethnes

      Re: Úsměvné

      Mně se to zas stalo, když jsem si chtěl zobrazit diskuzi (očividně už tu ale jsem :3) — pobavilo XD.

  4. Audiod

    Rozumné oznámení chyby

    Co se týče první části článku, pojednávající o srozumitelném vyjádření chyby, tak to je problém, se kterým se často potýkají i velké firmy. A je až s podivem, kam až je možné zajít.

    Nedávno jsem měl sen. Přál jsem si úspěšně se přihlásit do služby Windows Live v jedné hře, abych si mohl zahrát online. Nic víc, nic míň. Prostředí Windows Live dostupné přímo ve hře mi při pokusu o připojení sdělovalo Nelze se přihlásit. Fajn. Přidány výjimky do firewallu. Nelze se přihlásit. Po další marné snaze jsem spustil desktopový klient, který mi nejen sdělil, že se nelze přihlásit, ale zároveň vypsal i několikaciferné číslo chyby, které však nebylo nikde na webu k nalezení. Fajn. Desktopový klient měl ještě jednu výbornou funkci – vygeneroval odkaz s názvem Vyřešte problém kliknutím sem. Klikám, spouští se IE9, načítání stránky končí se slovy Nelze načíst rámce stránky. Fajn. Přihlásím se do Windows Live přes webové rozhraní – bez problému. Nikde ani náznak nějakého problému nebo jeho řešení. Na stránce je mj. zobrazen banner s nabídkou na rozšíření stávajícího účtu o nové XBox Live funkce. Sice XBox nemám, chci si zahrát na PC, ale ze zoufalosti nabídku odkliknu a světe div se, každé přihlášení je odteď úspěšné. Takže suma sumárum tři hodiny zkoušení, jestli tohle nebo tohle není náhodou ten problém, a to jenom díky tomu, že žádná ze tří aplikací postavených nad touto službou mi nebyla schopná sdělit, z jakého důvodu přihlášení neuspělo. Asi jsem toho chtěl v roce 2012 moc.

    1. windowsupdate

      Re: Rozumné oznámení chyby

      Já jsem měl noční můry z chyb při windows updatech na WinXP na windowsupdate­.microsoft.com. „Aktualizace se nezdařila, chyba: 0x8…“. Na webu bylo k nalezení o takovýchto chybách prd, přičemž ruční instalace aktualizace pak většinou v pohodě (navíc v případě chyby to v GUI napsalo chybu textově, a ne jen debilním číslem s odkazem na web, kde ovšem nebylo vysvětlení vůbec žádný – a v logu služby taky prd a vořech k identifikaci) – ovšem to je řešení zcela nepraktický a pomalý, ale naštěstí to vždy řešily nějaký prográmky, co celou službu a navázaný procesy na ní „restartovaly“ do základního stavu, a pak to prošlo.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3599