Home  >  Article  >  Backend Development  >  What is the method of catching and handling exceptions in Python?

What is the method of catching and handling exceptions in Python?

WBOY
WBOYforward
2023-05-10 20:19:051616browse

Python exceptions are errors that occur during program execution and may cause the program to terminate.

In Python, exception handling is a mechanism that allows developers to catch, handle, and report exceptions when they occur in a program so that the program can continue to run or exit gracefully when an exception occurs.

In Python, exceptions can be standard exceptions (such as SyntaxError and TypeError) or custom exceptions. Standard exceptions are defined internally by Python, while custom exceptions are defined by developers, usually for a specific application or library.

The following are some common Python exceptions:

  • SyntaxError: syntax error, usually caused by syntax errors, such as missing parentheses, colons wait.

  • TypeError: Type error, usually caused by combining objects of different types together, such as adding strings and numbers.

  • ValueError: Value error, usually caused by the supplied value not conforming to the expected range or format, such as an invalid string when converting a string to an integer.

  • IndexError: Index error, usually caused by trying to access an element that does not exist in a list or tuple.

  • KeyError: Key error, usually caused by trying to access a key that does not exist in the dictionary.

  • IOError: Input/output error, usually caused by a problem while trying to read or write a file.

  • AttributeError: Attribute error, usually caused by trying to access a property or method that does not exist on the object.

In Python, you can use the try-except statement to catch exceptions and handle them. The try statement contains code that may cause an exception, while the except statement defines the code to be executed when an exception is caught.

You can use multiple except statements to capture different types of exceptions. Try-except can also be paired with else. Its meaning is that when the try statement does not detect any exception, the else statement will be executed. content. In addition, you can also use the finally statement to define code that will always be executed after the try statement block.

Example:

Case 1: Use try-except statement to catch exceptions and handle them

Example:

try:
100/0 # Code that may cause exceptions

except ZeroDivisionError: #(捕获特定的异常类型ZeroDivisionError,ZeroDivisionError是Python中的内置异常类之一,用于表示在除数为零的情况下进行了除法操作所引发的异常。)

    print('因为这里打印出异常类型:除数不能为0。')# 处理值错误的代码

What is the method of catching and handling exceptions in Python?

Case 2: Use try- The except statement is paired with the else statement (when the try statement does not detect any exception, the contents of the else statement are executed)

When the try statement detects any exception, the else statement is not executed. Content

>>> try:
...     1 / 0
... except:
...     print("逮到了~")
... else:
...     print("没逮到~")
...

Caught~

If an exception is detected in the try statement, then the exception handling content of the except statement is executed:

>>> try:
...     1 / 1
... except:
...     print("逮到了~")
... else:
...     print("没逮到~")
...
1.0

Not caught~

Case 3: Use try-except statement with finally statement (final statement that must be executed regardless of whether an exception occurs or not)

Example:

try:
‘abc’ 123

except TypeError: #TypeError为类型错误,通常是由于将不同类型的对象组合在一起而引起的,如将字符串和数字相加。
    print('因为这里打印出异常类型:类型错误。')# 处理类型错误的代码
finally:
    print('不论是否无法异常,都执行这句话') # 无论是否发生异常都会执行的代码

What is the method of catching and handling exceptions in Python?

Exception handling is one of the important concepts in Python and developers should understand how to do it correctly Catch and handle exceptions to ensure program stability and reliability.

Advanced: Methods of catching exceptions

Two methods of catching exceptions: No matter what kind of exception it is, exception information is captured.

1. Use Exception: All exceptions are subclasses of Exception. So Exception can match all types of exceptions.

Example:

>>> try:
    100/0
except Exception  as e:
    print('未知异常:', e)
# 对于很多刚学Python或者是学着学着迷茫了的小伙伴,我给大家准备了一套Python的学习资料。
# 包括数百本电子书、Python基础视频教程、项目实战,疑难解答,直接在文末名片自取。
   
未知异常: division by zero
>>>

The cause of the exception can be captured normally, but detailed exception information (the location where the exception is sent and the code of the exception) cannot be output.

2. Use the traceback module: Use the format_exc function in the traceback module to display exception information and function call stack information where the exception occurs.

Example:

>>>  import traceback
>>>  try:
    100/0
except  :
    print(traceback.format_exc())
 
 
Traceback (most recent call  last):
  File "", line 2, in 
ZeroDivisionError: division by  zero
>>>

The above code will print out the detailed function call stack information that caused the exception

The above is the detailed content of What is the method of catching and handling exceptions in Python?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete