Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để bắt StandardError Exception trong Python?

Có lớp Ngoại lệ, là lớp cơ sở cho StopIteration, StandardError và Warning. Tất cả các lỗi tiêu chuẩn đều bắt nguồn từ StandardError. Một số lỗi tiêu chuẩn như ArithmeticErrror, AttributeError, AssertionError có nguồn gốc từ StandardError của lớp cơ sở.

Khi một tham chiếu thuộc tính hoặc phép gán không thành công, AttributeError sẽ xuất hiện. Ví dụ:khi cố gắng tham chiếu một thuộc tính không tồn tại:

Chúng tôi viết lại mã đã cho và bắt ngoại lệ và biết nó loại.

Ví dụ

import sys
try:
class Foobar:
def __init__(self):
self.p = 0
f = Foobar()
print(f.p)
print(f.q)
except Exception as e:
print e
print sys.exc_type
print 'This is an example of StandardError exception'

Đầu ra

0
Foobar instance has no attribute 'q'
<type 'exceptions.AttributeError'>
This is an example of StandardError exception