What are the forms of python exception handling structures?

silencement
Release: 2019-06-12 10:50:57
Original
7406 people have browsed it

What are the forms of python exception handling structures?

Python mainly supports five exception mechanisms, with examples respectively.

Default exception handler

s = 'Hello girl!'
print s[100]
print 'continue'
Copy after login

If we do not take any precautions for exceptions, then if an exception occurs during program execution, the program will be interrupted and python will be called. The default exception handler and output exception information in the terminal. In this case, line 3 of code will not be executed.

try…except

s = 'Hello girl!'
try:
 print s[100]
except IndexError:
 print 'error...'
print 'continue'
Copy after login

When the program executes to the second sentence, it finds the try statement, enters the try statement block for execution, and an exception occurs, returns to the try statement layer, and looks for the following Is there an except statement? After the except statement is found, this custom exception handler will be called. After except handles the exception, the program continues execution. In this case, the last two print statements will be executed.

except can also be left empty, indicating that any type of exception is caught.

try…finally

s = 'Hello girl!'
try:
 print s[100]
finally:
 print 'error...'
print 'continue'
Copy after login

The finally statement indicates that the statements in finally must be executed regardless of whether an exception occurs or not. However, since there is no except handler, the program is interrupted after finally execution. In this case, the second print will be executed, but the first print will not be executed. If there is no exception in the try statement, all three prints will be executed.

with…as

with open('nothing.txt','r') as f:
 f.read()
 print 2/0
print 'continue'
Copy after login

When we usually use file-like stream objects, we have to call the close method to close them after use, which is very troublesome. The with...as statement here provides a very convenient alternative: after open opens the file, assign the returned file stream object to f, and then use it in the with statement block. After the with statement block is completed, the file will be closed automatically and hiddenly.

If an exception occurs in the with statement or statement block, the default exception handler will be called, but the file will still be closed normally.

In this case, an exception will be thrown and the final print will not be executed.

The above is the detailed content of What are the forms of python exception handling structures?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!