Python Utwórz niestandardowe wyjątki

Python Utwórz niestandardowe wyjątki
Pracując w dowolnym środowisku programowania, możesz napotkać kilka błędów, gdy coś pójdzie nie tak z twoim kodem. Te wyjątki, które występują automatycznie przez interpretera lub kompilator, są wbudowane wyjątki. Podobnie jak wbudowane wyjątki, niektóre języki programowania zapewniają nam możliwość tworzenia niestandardowych wyjątków zgodnie z naszymi potrzebami. Czy kiedykolwiek próbowałeś utworzyć swoje wyjątki w bloku kodu, w programowaniu zorientowanym na obiekty? W tym artykule będziemy omawiać prostą metodę tworzenia niestandardowych wyjątków w Pythonie. Zacznijmy od uruchomienia aplikacji terminalowej z obszaru aktywności Linux, wykorzystując prosty skrót „Ctrl+Alt+T”. Musisz zainstalować najnowszą wersję Pythona i jesteś gotowy.

Po instalacji Pythona potrzebujemy pliku Pythona, aby wykonać kody. W tym celu będziemy używać słowa kluczowego „dotyk” w obszarze zapytania i nazwy pliku do utworzenia. Wykonaj to polecenie, a plik zostanie wygenerowany w bieżącym katalogu „Home”. Następnie spróbuj otworzyć nowy plik z dowolnym wbudowanym edytorem Ubuntu 20.04 i.mi., Otwieramy go w ramach edytora Nano.

Przykład 01:

Pusty plik zostanie uruchomiony i gotowy do użytku. Po pierwsze, przyjrzymy się wbudowanym wyjątkom Pythona. W tym celu dodaliśmy python-support „##!/USR/bin/Python ”na pierwszym wierszu i stworzył nowy„ test ”klasy. Klasa zawiera zmienną „x” z pewną wartością. Przyjrzyj się wartość „x”, ponieważ zawiera pojedynczy cytat pomiędzy tym, że spowoduje błąd. Utworzyliśmy obiekt „T” dla testu klasowego przy użyciu metody standardowej. Ten nowo wykonany obiekt „T” został użyty do wywołania zmiennej „x” metodą „kropkową”. Dokonano tego w instrukcji drukowania, aby wyświetlić wartość „x”.

Python „zwyczaj.plik py ”, który został właśnie zaktualizowany o kod, został wykonany w puli Python. Mamy wyjątek „SyntaxError: EOL podczas skanowania literału ciągu” po uruchomieniu tego kodu. Błąd wskazuje, że błąd jest spowodowany wartością „x”.

Teraz przyjrzymy się najprostszemu sposobowi tworzenia niestandardowych wyjątków za pomocą naszego kodu Pythona. Więc zacznij ten sam zwyczaj.plik PY w edytorze GNU Nano z wykonaniem instrukcji „nano” w obszarze zapytania o powłokę. Dodał python-support „#!/usr/bin/python ”w pierwszym wierszu tego pliku. Zainicjował nową klasę o nazwie „Customexception”, która została wyprowadzona z wbudowanej klasy wyjątków, ponieważ wdrażaliśmy klasę „wyjątku” w jej parametrze. Oznacza to, że nasza nowo wygenerowana klasa zaimplementuje klasę wyjątków, aby wygenerować niestandardowy wyjątek naszego wyboru.

Słowo kluczowe „przejść” zostało użyte, aby po prostu uniknąć złożonego kodu i przejść do następnego kroku, aby wygenerować wyjątek. Słowo kluczowe „podniesienie” zostało użyte do wygenerowania wyjątku i wywołania nowo utworzonej klasy „Customexception” z klasy „Wyjątek”. Linia słów kluczowych „Podnieś” wygeneruje błąd w wykonaniu pokazujący numer wiersza i funkcję main () na wyjściu. Najpierw zapiszmy ten kod i wyjdźmy z pliku za pomocą Ctrl+S i Ctrl+x.

Po uruchomieniu zaktualizowanego pliku Pythona „Custom.py ”, mamy błąd„ __main__.Customexception ”. Ponieważ nie używaliśmy żadnego stwierdzenia w klasie, dlatego generuje to proste dane wyjściowe dla wyjątku bez żadnego komunikatu o wyjaśnieniu.

Przykład 02:

Zanurzmy się trochę głębiej w koncepcję tworzenia niestandardowych wyjątków w Pythonie. Pierwszy przykład został użyty do wyświetlania najprostszej składni tworzenia niestandardowych wyjątków w Pythonie. Teraz będziemy tworzyć niestandardowe wyjątki z niektórymi błędami wyjaśniającymi wiadomość wraz z pewnymi warunkami. Otworzyliśmy plik i zadeklarowaliśmy trzy nowe klasy: Err, Smallexception i LargeException.Klasa ERR pochodzi z wbudowanej klasy wyjątków, podczas gdy pozostałe dwie klasy pochodzą z klasy „ERR”.

Zainicjuj zmienną „x” z wartością 4 i użyłem bloku próbowania w kodzie. Blok „spróbuj” przyjmuje wejście liczb całkowitych od użytkownika za pośrednictwem funkcji „Wprowadzenie” i zapisuje ją do zmiennej „N”. Zagnieżdżona instrukcja „IF-ELSE” jest tutaj, aby porównać wartość zmiennej „n” z wartością zmiennej „x”. Jeśli wartość „n” jest mniejsza niż wartość „x”, podnosi smallexception za pomocą słowa kluczowego podnoszenia wraz z nazwą klasy „Smallexception”. Jeśli wartość „n” jest większa niż wartość „x”, podnosi duże recepcje za pomocą nazwy klasy „LargeException”. Jeśli oba warunki się nie spełniają, pójdziemy z wyświetlaniem prostej wiadomości na powładzie za pomocą instrukcji drukowania i.mi., „Wartość jest równa”.

Po bloku „spróbuj”, używamy 2 z wyjątkiem części do podniesienia komunikatów o błędach według warunku. Jeśli wartość jest mniejsza niż wspomniane, wyjątek „Smallexception” zostanie uruchomiony, w przeciwnym razie zostanie wykonane duża informacja. Instrukcja drukowania w obu częściach, z wyjątkiem części, wykorzystuje komunikat ciągów zgodnie z ich potrzebą i.mi., mały i duży.

Po wykonaniu nasz użytkownik ma wartość dodaną 8 i.mi., większa niż wartość x = 4. Large Exception zostało wykonane. Po ponownym uruchomieniu użytkownik dodał małą wartość 2 i został wykonany SMALLEXEPCE. W końcu użytkownik dodał równą wartość, jaką pokazano komunikat sukcesu.

Jeśli chcesz spróbować dodać dane wejściowe od użytkownika, aż do żądanego.

Teraz dane wyjściowe będzie takie jak poniżej.

Przykład 03:

Istnieje inny sposób na stworzenie niestandardowych wyjątków w Pythonie, a mianowicie użycie funkcji „__init__” i „__str__” Pythona. Mówi się, że „__init__” jest konstruktorem klasy, która zostanie użyta do inicjalizacji wartości. Stworzyliśmy klasę wyjątku „ERR” wdrażającą wbudowaną klasę „wyjątków” w tym kodzie Python.

Biorąc dwa argumenty, zainicjuje wartość zmiennego „wieku” i „msg” z kluczowym obiektem „jaźń”. Funkcja konstruktora „Wyjątek” „__init__” została wywołana za pomocą „super ()” i przekazała zmienną „msg” w jej parametrze. Metoda „__STR__” służy do wyświetlania komunikatu „błąd” zgodnie z formatem ciągu pokazanym w instrukcji powrotu.

Zmienna „wieka” przyjmuje wartość liczbową od użytkownika za pośrednictwem funkcji „Wejście”, a zmienna łańcuchowa „MSG” jest inicjowana. Oświadczenie „IF-Else” ma na celu podniesienie niestandardowego wyjątku, gdy wartość „wiek” jest mniejsza niż 20 i większa niż 50. W przeciwnym razie część „else” wyświetli komunikat sukcesu.

Po pierwszym wykonaniu użytkownik dodał 40 i otrzymał komunikat sukcesu I.mi., 40> 20 i 40 < 50.

Po drugim wykonaniu użytkownik dodał 80 jako wiek wejściowy I.mi., 80 jest większe niż 50. Mamy wyjątek w tym samym formacie, co ogłosiliśmy w funkcji „__str”.

Wniosek

Chodziło o tworzenie niestandardowych wyjątków w naszym środowisku Python, gdziekolwiek wymaga. Omówiliśmy dość najprostszy możliwy sposób, aby ułatwić naszym użytkownikom I.mi., Uruchamianie przykładów z najbardziej podstawowej składni. Odkryliśmy również użycie funkcji „__init__” i „__str__” używanych w tworzeniu niestandardowych wyjątków. To wszystko było dość łatwe do wdrożenia.