⊗pyPmExcInr 74 of 129 menu

Wprowadzenie do wyjątków w Pythonie

W tej sekcji będą omawiane wyjątki w Pythonie. Na początek trzeba zrozumieć, czym one są.

Podczas pisania jakiegokolwiek programu, programista domyślnie zakłada, że wszystkie używane mechanizmy techniczno-programowe będą działać poprawnie.

Jednak nie zawsze tak jest. Podczas przesyłania danych przez sieć następuje zerwanie połączenia i dane docierają do nas w niepoprawnej formie, lub w ogóle nie docierają. Podczas zapisywania pliku okazuje się, że przydzielone nam miejsce na dysku twardym się skończyło i plik nie może zostać zapisany. Podczas odczytywania pliku okazuje się, że taki plik nie istnieje i nie mamy skąd go odczytać. Podczas drukowania danych na drukarce następuje zerwanie kabla łączącego drukarkę i komputer.

Wszystkie opisane sytuacje mają wspólną istotę: dochodzi do pewnej awarii, która prowadzi do niemożności lub bezsensowności ukończenia zaplanowanej operacji.

Zdarzają się również sytuacje, w których występuje pewien błąd, niebędący awarią. Na przykład, pytasz użytkownika o jego email, a on wprowadza email w niepoprawnym formacie. Oczywiste jest, że nasz program nie może kontynuować przetwarzania emaila, ponieważ jest on niepoprawny. Jednakże nie jest to - sytuacja wyjątkowa. Nasz program może sam naprawić sytuację: wyświetli komunikat o błędzie i użytkownik powtórzy swoje wprowadzenie.

W rzeczywistości różnica między awarią a nie-awarią jest dość rozmyta. Zdarzenie, które jeden program może traktować jako sytuację wyjątkową, inny program może traktować jako pewien błąd, z którym może sobie poradzić.

Kryterium jest następujące: jeśli przy wystąpieniu problemu twój program może kontynuować wykonywanie tego, do czego jest przeznaczony, to nie jest to sytuacja wyjątkowa, a jeśli nie może - to tak, jest to wyjątek.

Na przykład, mamy program, który ma zapytać o email użytkownika. Jeśli użytkownik wprowadził email w niepoprawnym formacie - nie jest to awaria. Jest to oczekiwany problem i nasz program będzie pytać użytkownika o email tyle razy, aż nie wprowadzi go poprawnie.

Załóżmy, że nasz program, który pyta o email, musi również wysłać ten poprawny email przez internet. Przy tym okazuje się, że internet nie działa. Oto jest to już problem: program w żaden sposób nie będzie w stanie wysłać danych przez internet, jeśli internet nie działa. Program, niemniej jednak, może kontynuować swoje wykonanie: może wyświetlić informację o problemie, powtórzyć próbę wysłania po pewnym czasie, i tak dalej. Ale te działania nie są do końca tym, do czego program był przeznaczony, ponieważ główne działanie - wysłanie emaila program nie będzie w stanie wykonać.

W związku z czym, bardzo często interpretacja, które zachowanie będzie uznane za normalne, a które za wyjątkowe, zależy od zadań stojących przed programistą.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć