Python mainly supports five exception mechanisms, with examples respectively.
Default exception handler
s = 'Hello girl!' print s[100] print 'continue'
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'
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'
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'
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!