Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีที่ถูกต้องในการส่งผ่านวัตถุด้วยข้อยกเว้นแบบกำหนดเองใน Python คืออะไร?


ในโค้ดที่กำหนด มีการสร้างข้อยกเว้นที่กำหนดเอง FooException ซึ่งเป็นคลาสย่อยของข้อยกเว้นระดับซุปเปอร์ เราจะส่งวัตถุสตริงไปยังข้อยกเว้นที่กำหนดเองดังนี้

ตัวอย่าง

#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

หากเรียกใช้สคริปต์นี้ที่เทอร์มินัลดังนี้ เราจะได้

$ python foobar.py

เราได้รับสิ่งต่อไปนี้หากเราป้อนสตริง

ผลลัพธ์

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