Bất kỳ ngôn ngữ lập trình ngôn ngữ nào cũng có phần xử lý lỗi ngoại lệ ngoại lệ, nó không chỉ giúp ta gỡ lỗi mà còn giúp chúng ta tắt các thông báo lỗi không mong muốn của màn hình nền khi nó ở chế độ sản xuất Show 1, Ngoại lệ trong PythonGiả sử mình có một hàm 4 như sau
Bây giờ mình sẽ gọi nó như thường
Nhưng trong trường hợp tham số thứ 2 bây giờ không phải bằng 2 nữa mà là bằng 0 thì sao nhỉ?
Và đây là kết quả mình thu được
Như các bạn đã thấy, chương trình đã báo lỗi là không thể thực hiện được phép chia cho 0. Và trong trường hợp này thì các bạn có thể hạn chế lỗi bằng cách ràng buộc tham số b sao cho nó khác 0 -> cách này ai cũng biết rồi Nhưng ở phạm vi vị trí bài viết này mình muốn hướng dẫn mọi người một cách nữa đó là sử dụng ngoại lệ Để sử dụng ngoại lệ trong Python, các bạn hãy sử dụng lệnh 5 theo cú pháp sau
in which.
Nếu khối lệnh trong 7 có 1 lỗi xảy ra thì chương trình sẽ tìm đến các lệnh ngoại trừ phía bên dưới và nếu một lệnh ngoại trừ bất kỳ yêu cầu nào thì nó sẽ thực thi mã trong khối lệnh ngoại trừ đóVD. Mình sẽ hạn chế bắt lỗi của ví dụ trên bằng ngoại lệ Như các bạn đã thấy ở dòng báo lỗi trong ví dụ trên nó có đoạn 8 thì ở đây nếu như chúng ta không biết hết các ngoại lệ trong Python thì có thể dựa vào dòng báo lỗi đó và bắt theo, trong trường hợp này ngoại lệ được gọi 0Và đối với mỗi khối lệnh 9 thì bạn cũng có thể bắt nhiều phần mở rộng trên một lần khai báo. Bằng cách đặt các ngoại lệ cách nhau bởi một dấu hiệu 0VD. Bắt nhiều ngoại lệ trên một lần khai báo 3Hoặc bạn cũng có thể khai báo nhiều thông báo ngoại trừ trong một khối lệnh 5VD. Bắt nhiều ngoại lệ 5Đương nhiên, bạn cũng có thể lồng các khối 5 lại với nhauVD 72, Cuối cùngNếu như trong khối lệnh 5 bạn muốn có 1 khối lệnh chắc chắn sẽ được thực thi cho dù thử đúng hay sai, thì bạn sẽ phải khai báo thêm khối lệnh 4 vào cuối khối lệnh 5 theo cú pháp sau 1Cuối cùng, trong Python thường được sử dụng để xóa dữ liệu trong quá trình tạo ra 5VD 03, Các ngoại lệ có sẵn trong PythonDưới đây là danh sách các ngoại lệ mặc định trong Python Tên ngoại lệ Chú thích Ngoại lệ Đây là lớp cơ sở cho tất cả các ngoại lệ, nó sẽ xuất hiện khi có bất kỳ lỗi nào xảy ra. StopIteration Xuất hiện khi phương thức next() của phép lặp không trỏ đến bất kỳ đối tượng nào. SystemExitXuất hiện khi sử dụng phương thức sys. exit()StandardErrorLớp cơ sở cho tất cả các ngoại lệ. ArithmeticErrorXuất hiện khi có lỗi tính toán giữa các tham số với nhauOverflowErrorXuất hiện khi thực hiện tính toán và giá trị của nó vượt ngưỡng giới hạn cho phép của kiểu dữ liệu. FloatingPointErrorXuất hiện khi tính toán float thất bại. ZeroDivisonErrorXuất hiện khi thực hiện cho phép chia cho 0. AssertionErrorXuất hiện trong trường hợp lệnh xác nhận thất bại. AttributeErrorXuất hiện khi không tồn tại thuộc tính này hoặc thiếu tham số truyền vào nó. EOFErrorXuất hiện khi không có dữ liệu từ hàm input() hoặc tệp cuối. ImportErrorXuất hiện khi lệnh nhập thất bại. KeyboardInterruptXuất hiện khi ngắt biên dịch. LookupErrorLớp cơ sở cho tất cả các lỗi về tra cứu. IndexErrorXuất hiện khi chỉ mục không tồn tại trong danh sách, chuỗi,. KeyErrorXuất hiện khi khóa không tồn tại trong từ điển. NameErrorXuất hiện khi một biến không tồn tại trong phạm vi bạn gọi nó. EnvironmentErrorXuất hiện khi có bất kỳ lỗi nào nằm ngoài phạm vi của Python. IOErrorXuất hiện khi xử lý đầu vào/đầu ra không thành công hoặc mở tệp không thành công. OSErrorXuất hiện khi có lỗi từ hệ điều hành. SyntaxErrorXuất hiện khi chương trình gặp lỗi cú pháp. IndentationErrorXuất hiện khi bạn nhận sai dòng. SystemErrorXuất hiện khi biên dịch có vấn đề nhưng nó lại không thoát tự động. SystemExitXuất hiện khi biên dịch biên dịch bị dừng bởi 7. TypeErrorXuất hiện khi thực thi toán tử hoặc hàm mà kiểu dữ liệu bị sai so với kiểu dữ liệu đã được định nghĩa ban đầu. ValueErrorXuất hiện khi chúng ta xây dựng 1 hàm mà kiểu dữ liệu đúng nhưng khi chúng ta thiết lập ở tham số là khác so với khi truyền vào. RuntimeErrorXuất hiện khi lỗi được sinh ra không thuộc bất kỳ danh mục nào. NotImplementedErrorXuất hiện khi một phương thức đối tượng cần được thực hiện trong Lớp kế thừa chứ không phải là Lớp thực thiUnboundLocalErrorXuất hiện khi chúng ta cố tình truy cập vào một biến trong hàm hoặc phương thức, nhưng không thiết lập giá trị cho nó4, Xây dựng một ngoại lệ riêngDo mình chưa giới thiệu với mọi người kiến thức hướng đối tượng trong Python, nên phần này ai biết hướng đối tượng rồi thì xem, còn không thì khi khác xem lại cũng được. D Để tạo một ngoại lệ trong Python, thì bắt buộc ngoại lệ này phải kế thừa lớp Ngoại lệ trong Python, và còn lại là bạn muốn xử lý như thế nào cũng được VD. Mình sẽ viết một Exception có tên ngoại lệDemo 1Sau khi đã tạo ra ngoại lệ cho riêng mình rồi, thì khi thực hiện mà bạn muốn gọi ra ngoại lệ ra bạn chỉ cần sử dụng từ khóa 8 theo cú pháp sau 2Trong đó, 6 là tên của ngoại lệ bạn muốn gọiVD 35, Lời kếtPhần này hơi dài, nhưng các bạn hay làm ở tầm ứng dụng thì cũng không cần quan tâm lắm, vì các framework đã hỗ trợ chúng ta phần này khá ổn rồi |