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

Raise ngoại lệ (Raising Exceptions) trong Python

Bạn có thể raise ngoại lệ theo nhiều cách bằng cách sử dụng câu lệnh raise. Cú pháp chung cho câu lệnh raise như sau:

Cú pháp

raise [Exception [, args [, traceback]]]

Ở đây, Exception là loại ngoại lệ (ví dụ: NameError) và argument là giá trị cho đối số của ngoại lệ. Đối số là tùy chọn; nếu không cung cấp, đối số ngoại lệ là None.

Đối số cuối cùng, traceback, cũng là tùy chọn (và hiếm khi sử dụng trong thực tế), và nếu có, là đối tượng traceback được sử dụng cho ngoại lệ.

Ví dụ

Một ngoại lệ có thể là một chuỗi, một lớp hoặc một đối tượng. Hầu hết các ngoại lệ mà Python core raise là các lớp, với một đối số là instance của lớp đó. Định nghĩa ngoại lệ mới khá dễ dàng và có thể thực hiện như sau:

def functionName(level):
    if level < 1:
        raise "Invalid level!", level
        # Mã dưới đây sẽ không được thực thi
        # nếu chúng ta raise ngoại lệ

Lưu ý - Để bắt một ngoại lệ, mệnh đề "except" phải tham chiếu đến cùng ngoại lệ được ném, hoặc là đối tượng lớp hoặc chuỗi đơn giản. Ví dụ, để bắt ngoại lệ trên, chúng ta phải viết mệnh đề except như sau:

try:
    Business Logic here...
except "Invalid level!":
    Exception handling here...
else:
    Rest of the code here...