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

Làm cách nào để tôi ném / nâng một ngoại lệ theo cách thủ công trong Python?

Chúng tôi sử dụng hàm tạo ngoại lệ cụ thể nhất phù hợp với vấn đề cụ thể của chúng tôi thay vì đưa ra các ngoại lệ chung chung. Để nắm bắt ngoại lệ cụ thể của chúng tôi, chúng tôi sẽ phải bắt tất cả các ngoại lệ cụ thể hơn khác phân lớp nó.

Chúng ta nên nêu ra các ngoại lệ cụ thể và xử lý các ngoại lệ cụ thể tương tự.

Để nâng cao các ngoại lệ cụ thể, chúng tôi sử dụng câu lệnh raise như sau.

Ví dụ

import sys
try:
f = float('Tutorialspoint')
print f
raise ValueError
except Exception as err:
print sys.exc_info()

đầu ra

Chúng tôi nhận được kết quả sau

(<type 'exceptions.ValueError'>, ValueError('could not convert string to float: Tutorialspoint',), <traceback object at 0x0000000002E33748>)

Chúng tôi có thể phát sinh lỗi ngay cả với các đối số như ví dụ sau

Ví dụ

try:
raise ValueError('foo', 23)
except ValueError, e:
print e.args

đầu ra

Chúng tôi nhận được kết quả sau

('foo', 23)