Ngoại lệ ném Python

Python Throw Exception



Một ngoại lệ xuất hiện trong quá trình thực thi chương trình và thay đổi luồng bình thường của nó do lỗi. Một ngoại lệ phát sinh do lỗi. Nguyên nhân chính của một ngoại lệ là một lỗi logic. Giống như nhiều ngôn ngữ lập trình khác, Python cung cấp một số ngoại lệ được tích hợp sẵn, tức là, ZeroDivisionError, ImportError, EOFError, v.v.; chẳng hạn, ngoại lệ ZeroDivisionError được đưa ra khi một số bị chia cho số không. Các ngoại lệ Python được xử lý bởi câu lệnh try. Chúng tôi xác định một khối thử và đặt mã dễ bị tấn công bên trong khối này, điều này có thể tạo ra một ngoại lệ. Tiếp theo, sau khối try, chúng tôi xác định một khối ngoại trừ để xử lý ngoại lệ. Bên cạnh tất cả các ngoại lệ được tích hợp sẵn này, đôi khi chúng ta cần nâng cao hoặc ném một ngoại lệ khi gặp một tình huống cụ thể. Nhà phát triển Python có thể đưa ra một ngoại lệ do người dùng xác định một cách dễ dàng. Chúng tôi sử dụng nâng cao từ khóa để nâng cao hoặc ném một ngoại lệ. Bài viết này giải thích cách sử dụng từ khóa nâng cao trong Python để ném ngoại lệ với các ví dụ.







Cú pháp

Cú pháp để ném một ngoại lệ rất đơn giản và như sau:



Nâng caoNgoại lệ(không tí nàothông điệp)

Sau khi viết từ khóa raise, hãy xác định ngoại lệ của bạn.



Ví dụ về xử lý ngoại lệ

Đầu tiên, chúng ta hãy xem một ví dụ về khối thử ngoại trừ cách chúng ta có thể xử lý ngoại lệ tích hợp sẵn trong Python và sau đó, chúng ta sẽ thấy một số ví dụ về việc ném hoặc tăng các ngoại lệ Python. Trong ví dụ dưới đây, chúng tôi đã tạo hai biến. Giá trị của biến thứ hai bằng 0. Khi chúng ta chia num1 với num2, nó sẽ tạo ra một ZeroDivisionError. Mã phân chia sẽ ném ra một ngoại lệ; do đó, nó được đặt bên trong khối try. Khối ngoại trừ bắt ngoại lệ và in thông báo Đã xảy ra lỗi không mong muốn.





# khai báo một biến số
num1=hai mươi
# khai báo biến số thứ hai
num2=0
#implecting khối thử
cố gắng:
kết quả=num1 / num2
ngoại trừ:
in('Đã xảy ra lỗi không mong muốn')

Đầu ra



Đưa ra một ví dụ ngoại lệ

Bây giờ chúng ta hãy hiểu qua các ví dụ về cách chúng ta có thể loại bỏ hoặc nâng cao một ngoại lệ bằng cách sử dụng từ khóa tăng. Trong ví dụ đã cho, chúng tôi đang nêu ra một ngoại lệ khi một số bị chia cho bất kỳ số âm nào.

# khai báo một biến số
num1=hai mươi
# khai báo biến số thứ hai
num2=-10
nếu như(num2<0):
#raising một ngoại lệ
nâng cao Ngoại lệ('Số 2 không được là số âm')
khác:
kết quả=num1 / num2
in(kết quả)

Đầu ra

Kết quả cho thấy rằng ngoại lệ Số 2 không được là một số âm được nâng lên.

Chúng tôi cũng có thể xác định loại lỗi. Chúng ta hãy nhìn vào nó.

# khai báo một biến số
num1=hai mươi
# khai báo biến số thứ hai
num2=-10
nếu như(num2<0):
#raising một ngoại lệ
nâng cao TypeError('Lỗi số âm')
khác:
kết quả=num1 / num2
in(kết quả)

Đầu ra

Trong ví dụ đã cho, lỗi loại được xác định và nó in thông báo trên bảng điều khiển rằng đó là lỗi số âm.

Hãy xem một ví dụ khác về việc ném một ngoại lệ Python. Trong ví dụ đã cho, nếu danh sách chứa bất kỳ giá trị không phải số nguyên nào, thì chương trình sẽ ném một ngoại lệ.

# khai báo danh sách
danh sách của tôi=[1,2,3,7.7,'XYZ']
#impleizing một vòng lặp for
tôitrongdanh sách của tôi:
#checking loại của từng mục danh sách
nếu như không phải kiểu(tôi) NS:
#throwing a exception nếu loại phần tử không phải là số nguyên
nâng cao Ngoại lệ('Danh sách chứa giá trị không phải số nguyên')
khác:
in(tôi)

Đầu ra

Phần kết luận

Một ngoại lệ thay đổi quy trình bình thường của chương trình liên quan đến lỗi. Trong Python, chúng ta có thể ném một ngoại lệ do người dùng xác định. Để loại bỏ ngoại lệ, chúng tôi sử dụng từ khóa tăng được tích hợp sẵn của Python. Bài viết này giải thích khái niệm ném ngoại lệ với các ví dụ.