Co to jest błąd?
W językach programowania, jeśli wykonamy jakiś kod w nieprawidłowy sposób, wykonanie programu zostanie zatrzymane wraz z komunikatem, który nazywa się błędem lub wyjątkiem. Istnieją pewne rodzaje błędów w języku programowania z różnych powodów. Niektóre z nich są następujące:
Błąd asercji:
Ten typ błędu występuje, gdy w kodzie nie występują warunki asercji lub instrukcje.
Błąd importu:
Ten błąd występuje, gdy importujemy jakiś moduł do pliku, a moduł ten nie istnieje.
Błąd indeksu:
data Java na ciąg
Występuje, gdy dla dowolnej sekwencji jej indeks jest poza zakresem.
Błąd klucza:
Ten błąd pojawia się w Pythonie, gdy nie możemy znaleźć żadnego klucza w słowniku.
NazwaBłąd:
Ten błąd może wystąpić, gdy nie znajdziemy żadnej zmiennej w zakresie lokalnym lub globalnym.
Błąd wykonania:
Ten błąd zostanie zgłoszony, jeśli nie można go sklasyfikować w żadnym typie.
Błąd wcięcia:
Kiedy użyjemy złego wcięcia w kodzie Pythona, pojawi się IndentationError.
Błąd systemu:
Gdy wystąpi błąd wewnętrzny, interpreter zgłosi błąd SystemError.
Błąd Unicode:
Gdy wystąpi błąd kodowania lub dekodowania związany z Unicode, zostanie zgłoszony komunikat UnicodeError.
Błąd wartości:
Gdy w funkcji przekazujemy poprawny argument zgodnie z typem danych, ale wartość jest nieprawidłowa, wówczas błąd, który wystąpił, nazywa się ValueError.
struktury kontrolne w Pythonie
Błąd ZeroDivision:
Jak wiemy, w matematyce nie możemy podzielić żadnej liczby przez zero, ponieważ wynik dąży do nieskończoności. Jeśli więc napisaliśmy jakąkolwiek instrukcję dotyczącą dzielenia przez zero lub modulo przez zero, wówczas zgłoszonym błędem będzie ZeroDivisionError.
napisz json do pliku python
EOFEBłąd:
Kiedy użyjemy funkcji input() do pobrania danych wejściowych z pliku i dotrzemy do końca pliku, zostanie zgłoszony ten błąd, aby wskazać, że dotarliśmy do końca pliku i teraz nie możemy już nic pobrać wejście z pliku.
Ten artykuł jest poświęcony głównie AttributeError.
Co to jest błąd atrybutu?
Ten błąd występuje w programie, gdy podczas przypisywania atrybutów wystąpi błąd warunkowania. Na przykład, jeśli przypiszemy zmiennej całkowitej jakąś wartość i spróbujemy użyć dowolnej funkcji łańcuchowej z tej zmiennej, zgłosi to błąd AttributeError.
Przyczynę błędu AttributeError w Pythonie możemy zrozumieć na podstawie następujących przykładów:
Przykład 1:
Kiedy stosujemy funkcję na innym typie danych, co nie jest możliwe
a=15 a.append('javatpoint')
Wyjście:
Wyjaśnienie:
W powyższym kodzie mamy jedną zmienną całkowitą i zainicjalizowaliśmy ją wartością 15. Jeśli teraz użyjemy funkcji dołączania do zmiennej a, zwróci ona błąd AttributeError, który mówi, że nie ma atrybutu do dołączenia w typie danych integer.
Przykład 2:
Istnieje ryzyko AttributeError w przypadku nieprawidłowej pisowni atrybutu.
string = 'you will learn each coding tutorial from '.fst('Javatpoint') print(string)
Wyjście:
Wyjaśnienie:
W powyższym kodzie mamy atrybut string i stosujemy atrybut fst, więc pojawi się AttributeError, że ten atrybut nie istnieje dla zmiennej.
Przykład 3:
Możemy otrzymać błąd AttributeError, jeśli spróbujemy utworzyć błędne odwołanie do dowolnej zmiennej klasy.
class Javatpoint(): def __init__(self): self.var1 = 'This is for JavatPoint' obj = Javatpoint() print(obj.var1) print(obj.var2)
Wyjście:
Wyjaśnienie:
W powyższym kodzie mamy klasę i istnieje zmienna o nazwie var1. Tworzymy obiekt klasy i przez pomyłkę odwołujemy się do niewłaściwej zmiennej var2 tej klasy, która w ogóle nie istnieje, więc na pewno wystąpi AttributeError.
Rozwiązanie problemu błędu lub wyjątku:
W Pythonie lub dowolnym języku programowania możemy używać obsługi wyjątków lub błędów za pomocą instrukcji try i z wyjątkiem.
Przykład 4:
class Javatpoint(): def __init__(self): self.var1 = 'This is for javatpoint' obj = Javatpoint() try: print(obj.var1) print(obj.var2) except AttributeError: print('There is no such attribute')
Wyjście:
ciąg Java zawiera
Wyjaśnienie:
W powyższym kodzie mamy klasę i zmienną o nazwie var1. W instrukcji try staramy się odwoływać do zmiennych var1 i var2. Będziemy mogli wyłuskać zmienną var1 i wydrukujemy dla niej instrukcję, ale otrzymamy błąd AttributeError za odniesienie do var2. Zatem program przejdzie do bloku z wyjątkiem i wypisze instrukcję, która jest zapisana tylko dla warunku błędu.