On 18.3.2010, at 23:11, David Rohleder wrote: > azurIt píše v Čt 18. 03. 2010 v 20:35 +0100: >>> musím přiznat, že řešení pomocí výjimek mně přijde jako s kanonem na >>> vrabce, ikdyž to má svoji logiku. Pokud vnímám výjimku jako nějakou >>> zásadně chybovou situaci, tak to do této věci nesedí, protože s chybným >>> vstupem se má počítat a kód by ho měl ošetřovat. >> >> >> S tymto absolutne nesuhlasim. Ak hovoris o nejakom peknom osetreni chybneho >> vstupu (typu vypisanie chybovej spravy), tak toto _absolutne_ nie je ulohou >> funkcie ci objektu, ale konecnej aplikacie, ktora bude danu funkciu/objekt >> pouzivat. Osetrenie vstupu je samozrejme nutnost ale nie tymto sposobom - >> proste staci urobit aby funkcia 'zhucala' a nesnazila sa pokracovat (a >> pripadne nieco pokazit). Vynimka je na toto priamo stvorena. >> > > > Takže ti spadne celá aplikace. OK, s tím se dá počítat, pokud je to > jednouživatelská aplikace. Ale co když jde o nějakou třeba webovou > službu? >
S výjimkami se musí počítat. U webových aplikací/služeb se typicky odchytávají na úrovni nějakého volání handleru HTTP odpovědi a když je výjimka zachycena, vrátí se HTTP status 500 Server Error, zrollbackují se transakce v databázi atd. a jede se dál. A i kdyby webová aplikace spadla (třeba na SIGSEGV) - v ideálním případě (a většina konfigurací takto funguje) se spustí znovu. Petr Messner _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python