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

Cách chính xác để truyền một đối tượng có ngoại lệ tùy chỉnh trong Python là gì?


Trong đoạn mã nhất định, một ngoại lệ tùy chỉnh FooException đã được tạo, là một lớp con của Siêu lớp Ngoại lệ. Chúng tôi sẽ chuyển một đối tượng chuỗi cho ngoại lệ tùy chỉnh như sau

Ví dụ

#foobar.py
class FooException(Exception):
def __init__(self, text, *args):
super ( FooException, self ).__init__ ( text, *args )
self.text = text
try:
bar = input("Enter a string:")
if not isinstance(bar, basestring):
raise FooException(bar)
except FooException as r:
print 'there is an error'
else:      
print type(bar)
print bar

Nếu tập lệnh này được chạy ở thiết bị đầu cuối như sau, chúng tôi nhận được

$ python foobar.py

Chúng tôi nhận được những điều sau đây nếu chúng tôi nhập một chuỗi

Đầu ra

"C:/Users/TutorialsPoint1/~foobar.py"
Enter a string:'voila'
<type 'str'>
Voila