Erange w języku C

Erange w języku C
Jeśli wystąpi błąd podczas wywoływania funkcji, czy to z powodu niezgodności, czy wielkości danych, wartości poza zasięgiem, czyli inny powód, większość funkcji zapewnianych przez rozległą bibliotekę języka C zwraca wstępnie zdefiniowaną wartość, która informuje programist, co zrobić Wystąpił błąd.

Ma to kluczowe znaczenie, ponieważ określa stabilność, niezawodność i solidność ostatecznego programu, który skompilujemy.

Na przykład funkcja fopen () zwraca „0”, jeśli z jakiegoś powodu nie może otworzyć określonego pliku. Jednak w funkcjach takich jak matematyka wartość liczbowa „0” może reprezentować prawidłowy wynik. Ten typ zwrotu zgłasza tylko błąd, ale nie może określić, który jest.

Standardowa biblioteka języka C zapewnia różnorodne predefiniowane kody błędów w „Errno.H ”nagłówek.

Te kody błędów są specyficzne i wskazują pochodzenie lub przyczynę błędu. Dlatego są bardzo przydatnym narzędziem, jeśli chodzi o dodanie solidności do naszego programu.

W tym Wskazówka Linux Artykuł, wyjaśnimy Erange Kod błędu, który wskazuje wartości poza zakresem. Przyjrzymy się przyczyn, które powodują ten błąd i jak je naprawić. Następnie generujemy ten błąd w fragmentach kodu, który będziemy towarzyszyć obrazom, które pokazują jego wykrywanie i możliwe rozwiązania.

Kod błędu Erange: Definicja i reprezentacja numeryczna

#definicja Erange 34

Kod błędu Erange Opis

Kod błędu Erange reprezentuje wyjątek poza zasięgiem, który zwykle występuje, gdy funkcja zwraca wartość, która jest zbyt duża, aby przekroczyć rozmiar długiego. Ten kod błędu jest reprezentowany w GCC o wartości całkowitej 34.y, który jest predefiniowany w „Errno.H ”nagłówek.

Jeśli jeden z tych błędów występuje w funkcji matematycznej, funkcja zwraca nieskończony wynik lub -Inf. A numeryczna reprezentacja kodu błędu Erange jest automatycznie przechowywana w zmiennej „errno” typu zewnętrznego, która jest predefiniowana w „errno.H ”plik.

Zmienna „errno” przechowuje kod numeryczny ostatniego błędu. Za każdym razem, gdy odzyskujemy przechowywaną wartość, musimy wyczyścić jej treść.

To i wszystkie inne standardowe kody błędów biblioteki są zdefiniowane w „Errno.H ”plik nagłówka. Aby użyć tych kodów, musimy wstawić ten nagłówek do naszego kodu w następujący sposób:

#włączać

Kiedyś „errno.Nagłówek H ”jest zdefiniowany w naszym kodzie, możemy użyć tego zasobu do zapytania i klasyfikowania różnych błędów, które mogą wystąpić podczas procesu.

Jak wykryć błąd poza zasięgiem za pomocą zmiennej „errno” i kodu Erange w języku C

W tym przykładzie utworzymy błąd poza zasięgiem i pokażemy, jak można go wykryć i sklasyfikować, pobierając informacje z predefiniowanej zmiennej „Errno” w „Errno.H ”nagłówek.

Generujemy błąd, próbując obliczyć logarytm 0 za pomocą funkcji log ().

Kiedy próbujemy uzyskać logarytm 0, w rezultacie ta funkcja zwraca „-inf” i generuje kod błędu-poza zasięgiem lub Erange.

Możesz zobaczyć fragment kodu, w którym staramy się uzyskać logarytm zero. Wynik wyświetlany w konsoli dowodzenia:

#włączać
#włączać
#włączać
void main ()

Double R;
r = log (0);
printf („logarytm 0 to: %f \ n”, r);

Poniższy obraz, który widzimy, pokazuje wynik wykonania tego fragmentu:

Poniższy fragment wykonuje tę samą operację, ale drukuje zawartość zmiennej „errno” do konsoli poleceń z numerem błędu, który jest generowany podczas próby uzyskania logarytmu 0:

#włączać
#włączać
#włączać
void main ()

Double R;
r = log (0);
printf („logarytm 0 to: %d \ n”, errno);

Jak widać na poniższym rysunku, zmienna „errno” zawiera liczbę całkowitą 34, która jest zdefiniowana w „Errno.H ”nagłówek dla Erange Błąd lub błąd w zakresie:

Jak widzieliśmy w tym przykładzie, oba Erange i każdy inny kod błędu zdefiniowany w „Errno.H ”nagłówek można zapytać za pośrednictwem zmiennej„ errno ”.

Ważne jest, aby wyczyścić tę zmienną, gdy tylko odzyskamy z niej dane, ponieważ może to prowadzić do zamieszania lub nieprawidłowych interpretacji błędów. Aby to zrobić, ustawiamy go na zero, jak pokazano w następnym wierszu kodu:

errno = 0;

Wniosek

W tym Wskazówka Linux Artykuł o języku C, nauczyliśmy się znaczenia Erange Kod błędu, który jest częścią standardowego zestawu kodu biblioteki, który jest zdefiniowany w „Errno.H ”nagłówek. Pokazaliśmy również, dlaczego ten błąd jest generowany, jego reprezentacja numeryczna i zmienna „errno”, która jest używana do przetwarzania i przechowywania tego kodu. Mamy nadzieję, że ten artykuł był przydatny. Aby uzyskać więcej artykułów na temat języka C, użyj wyszukiwarki na naszej stronie internetowej.