Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Mệnh đề try-finally trong Python

Bạn có thể sử dụng khối finally cùng với khối try. Khối finally là nơi đặt bất kỳ mã nào bắt buộc phải thực thi, चाहे khối try có ném ngoại lệ hay không. Cú pháp của câu lệnh try-finally như sau:

try:
    You do your operations here;
    ......................
    Due to any exception, this may be skipped.
finally:
    This would always be executed.
    ......................

Bạn không thể sử dụng mệnh đề else cùng với mệnh đề finally.

Ví dụ

#!/usr/bin/python
try:
    fh = open("testfile", "w")
    fh.write("This is my test file for exception handling!!")
finally:
    print "Error: can't find file or read data"

Kết quả

Nếu bạn không có quyền mở file ở chế độ ghi, thì sẽ cho kết quả sau:

Error: can't find file or read data

Cùng ví dụ có thể viết gọn gàng hơn như sau:

Ví dụ

#!/usr/bin/python
try:
    fh = open("testfile", "w")
    try:
        fh.write("This is my test file for exception handling!!")
    finally:
        print "Going to close the file"
        fh.close()
except IOError:
    print "Error: can't find file or read data"

Khi một ngoại lệ bị ném trong khối try, thực thi ngay lập tức chuyển sang khối finally. Sau khi tất cả câu lệnh trong khối finally được thực thi, ngoại lệ được raise lại và được xử lý trong các câu lệnh except nếu có trong lớp try-except ở tầng cao hơn.