logo

Python Print Exception

O excepție este un eveniment neașteptat, care are loc în timpul execuției programului. Este cunoscută și ca eroare de timp de rulare. Când apare această eroare, Python generează o excepție în timpul execuției și care poate fi gestionată, ceea ce împiedică întreruperea programului. În acest articol, ne vom concentra pe „Cum putem imprima o excepție în Python?”

Ce este excepția în Python?

În Piton , Excepția este un tip de eroare în program. O eroare se numește „excepție” atunci când programul este corect din punct de vedere sintactic, dar apare o eroare în timpul executării acestuia.



Exemplu : În exemplu, încercăm să împărțim un număr la zero, astfel încât să dea o eroare de rulare.

Python3








num1>=> 5> num2>=> 0> print>(num1>/> num2)>

>

>

Ieșire

Traceback (most recent call last):  File 'Solution.py', line 5, in   print(num1 / num2)   ZeroDivisionError  : division by zero>

Acest program este corect din punct de vedere sintactic . Singura problemă aici se datorează numerelor care sunt folosite pentru operație. Deoarece nu putem împărți niciun număr la 0, se produce o eroare. Astfel, acesta este un exemplu de „Excepție”.

Cum arată excepțiile?

În programul de mai sus, când l-am executat, am primit o excepție. Eroarea care a fost aruncată a arătat linia la care a apărut eroarea, linia exactă și tipul de eroare.

ce este map java

Tipul de eroare care a fost afișat se numește „Excepție”. Prin Excepții, ajungem să aflăm despre problema care a apărut. Excepția din programul de mai sus este ZeroDivisionError: împărțire la zero .

Exemplu : Aici, atribuirea variabilei var1 se face de către an variabila nedefinita , var2.

Python3




var1>=> var2>

>

>

Ieșire

Traceback (most recent call last):  File 'Solution.py', line 2, in   var1 = var2 NameError: name 'var2' is not defined>

Mai sus, putem vedea Excepția ca NameError: numele „var2” nu este definit .

Gestionarea excepțiilor în Python

Excepțiile pot fi foarte deranjante uneori. Iată unde intervine conceptul de gestionare a excepțiilor. Prin gestionarea excepțiilor, putem gestiona cu ușurință excepțiile pentru utilizator, în loc să aruncăm doar erori utilizatorului.

Exemplu: În acest program, intrarea este luată în tipul „int”. Dar dacă introducem un caracter în el, va arunca o „ValueError”. Acest lucru poate deruta utilizatorul de multe ori. Aici facem gestionarea excepțiilor. În loc să aruncăm o eroare de valoare și să derutăm utilizatorul, vom afișa o declarație care sugerează utilizatorului să încerce din nou și îi vom oferi utilizatorului șansa de a încerca să introducă din nou numerele.

Python3




num1>=> int>(>input>(>'Enter num1: '>))> num2>=> int>(>input>(>'Enter num2: '>))> answer>=> f>'{num1} / {num2} = {num1 / num2}'> print>(answer)>

>

k algoritm de grupare

>

Ieșire

Enter num1: 1 Enter num2: b Traceback (most recent call last):  File 'D:/PycharmProjects/pythonProject2/main.py', line 15, in   num2 = int(input('Enter num2: ')) ValueError: invalid literal for int() with base 10: 'b'>

Folosind try, except and else

În acest cod, bucla while este rulată deoarece dorim să lăsăm utilizatorul să încerce până când intrarea este dată în mod corect. Am folosit clauza „încercați”. Clauza try verifică erorile din rândurile din acea clauză.

Dacă se întâlnește o excepție, aceasta trece la clauza „cu excepția” și tipărește mesajul de eroare furnizat de noi. Am scris două clauze except, una cu ValueError și cealaltă cu ZeroDivisionError. Fiecare dintre aceste clauze tratează excepțiile respective și imprimă mesajele respective.

Apoi, în sfârșit, am scris clauza else. Dacă nu este întâlnită nicio eroare, blocul else este executat. În blocul else, imprimăm coeficientul diviziunii și ieșim din buclă.

Python3

ștergeți memoria cache npm




while> True>:> >try>:> >num1>=> int>(>input>(>'Enter num1: '>))> >num2>=> int>(>input>(>'Enter num2: '>))> >answer>=> f>'{num1} / {num2} = {num1 / num2}'> >except> ValueError as e:> >print>(>'Try putting an integer value. Error Occured:'>, e)> >except> ZeroDivisionError as ex:> >print>(>'Division by zero is invalid! Error Occured:'>, ex)> >else>:> >print>(answer)> >break>

>

>

Ieșire:

Captură de ecran din 2023-10-16-12-36-50

Excepții de imprimare

Acum, după cum am văzut care sunt excepțiile exact, cum arată și cum să le gestionăm, acum vom arunca o privire la tipărirea lor.

Pentru a tipări excepțiile, folosim 'la fel de' cuvânt cheie al lui Python.

Am folosit același exemplu pe care l-am folosit înainte. Am folosit cuvântul cheie „as” și am declarat variabila „ve” pentru „ValueError” și „zde” pentru „ZeroDivisionError”. Apoi, dacă întâlnim vreo excepție, am scris codul pentru a tipări acea excepție. Dar totuși, nu putem vedea tipul de excepție pe care îl avem.

Python3




while> True>:> >try>:> >num1>=> int>(>input>(>'Enter num1: '>))> >num2>=> int>(>input>(>'Enter num2: '>))> >answer>=> f>'{num1} / {num2} = {num1 / num2}'> >except> ValueError as ve:> >print>(ve)> >except> ZeroDivisionError as zde:> >print>(zde)> >else>:> >print>(answer)> >break>

>

>

Ieșire:

Enter num1: a invalid literal for int() with base 10: 'a' Enter num1: 0 Enter num2: 0 division by zero Enter num1: 16 Enter num2: 4 16 / 4 = 4.0>

Tip excepție de imprimare

Pentru a vedea tipul de excepție, putem folosi funcția type().

Aici am folosit funcția type() pentru a cunoaște tipul de excepție pe care am întâlnit-o în timpul rulării codului.

Python3




while> True>:> >try>:> >num1>=> int>(>input>(>'Enter num1: '>))> >num2>=> int>(>input>(>'Enter num2: '>))> >answer>=> f>'{num1} / {num2} = {num1 / num2}'> >except> ValueError as ve:> >print>(>type>(ve), ve)> >except> ZeroDivisionError as zde:> >print>(>type>(zde), zde)> >else>:> >print>(answer)> >break>

>

>

tutorial ssis

Ieșire

Enter num1: a  invalid literal for int() with base 10: 'a' Enter num1: 1 Enter num2: 0  division by zero Enter num1: 4 Enter num2: 2 4 / 2 = 2.0>