Ngoại lệ lỗi thời gian chạy python
Chúng ta chắc chắn sẽ gặp những lỗi khi lập trình cũng như khi chạy chương trình. Trong Python, chúng ta có thể chia các lỗi (error) thành 2 loại. lỗi cú pháp và ngoại lệ Show 1. Lỗi cú pháp (Syntax Error) trong PythonSyntax error (syntax error) but call is parsing error. Lỗi này xảy ra là do chúng ta không quản lý cú pháp của Python khi thiết lập chương trình. Lỗi cú pháp thường xảy ra khi chúng ta mới bắt đầu học Python nên chưa hiểu rõ về cú pháp của Python Ví dụ lỗi cú pháp trong Python
Trong ví dụ trên, câu lệnh
Trong ví dụ trên, đối số của hàm 2. Lỗi ngoại lệ (Exception) trong PythonNhững lỗi xảy ra khi chạy chương trình (thời gian chạy) được gọi là ngoại lệ hoặc lỗi logic. Có nhiều trường hợp có thể gây ra ngoại lệ. Ví dụ, khi chúng ta mở một tập tin không tồn tại sẽ gặp ngoại lệ là Khi xảy ra ngoại lệ, Python sẽ tạo ra một đối tượng
3. Những ngoại lệ này được xây dựng sẵn trong PythonCó nhiều ngoại lệ được xây dựng sẵn trong Python để bắt các ngoại lệ. Chúng ta có thể sử dụng câu lệnh 0 để xem các ngoại lệ được xây dựng sẵn trong PythonBảng bên dưới là danh sách một số thông tin ngoại lệ được xây dựng sẵn trong Python Trong bài viết Cách xử lý ngoại lệ (Exception) trong Python, chúng ta sẽ tìm hiểu cách xử lý các ngoại lệ trong Python Khi xảy ra lỗi trong một phương thức, phương thức đó sẽ tạo một đối tượng và chuyển giao nó cho hệ thống thời gian chạy. Đối tượng, được gọi là đối tượng ngoại lệ, chứa thông tin về lỗi, bao gồm loại lỗi và trạng thái của chương trình khi xảy ra lỗi. Tạo một đối tượng ngoại lệ và đưa nó vào hệ thống thời gian chạy được gọi là ném ngoại lệ Sau khi một phương thức đưa ra một ngoại lệ, hệ thống thời gian chạy sẽ cố gắng tìm thứ gì đó để xử lý nó. Tập hợp các "thứ" có thể xử lý ngoại lệ là danh sách các phương thức được sắp xếp theo thứ tự đã được gọi để truy cập phương thức xảy ra lỗi. Danh sách các phương thức được gọi là ngăn xếp cuộc gọi (xem hình tiếp theo) ngăn xếp cuộc gọi Hệ thống thời gian chạy tìm kiếm ngăn xếp cuộc gọi cho một phương thức chứa một khối mã có thể xử lý ngoại lệ. Khối mã này được gọi là trình xử lý ngoại lệ. Quá trình tìm kiếm bắt đầu với phương thức xảy ra lỗi và tiến hành thông qua ngăn xếp cuộc gọi theo thứ tự ngược lại với các phương thức được gọi. Khi tìm thấy một trình xử lý thích hợp, hệ thống thời gian chạy sẽ chuyển ngoại lệ cho trình xử lý. Trình xử lý ngoại lệ được coi là phù hợp nếu loại đối tượng ngoại lệ được ném khớp với loại mà trình xử lý có thể xử lý Trình xử lý ngoại lệ được chọn được gọi là bắt ngoại lệ. Nếu hệ thống thời gian chạy tìm kiếm tất cả các phương thức trên ngăn xếp cuộc gọi mà không tìm thấy trình xử lý ngoại lệ thích hợp, như thể hiện trong hình tiếp theo, thì hệ thống thời gian chạy (và do đó, chương trình) sẽ kết thúc Tìm kiếm ngăn xếp cuộc gọi cho trình xử lý ngoại lệ Sử dụng ngoại lệ để quản lý lỗi có một số lợi thế so với kỹ thuật quản lý lỗi truyền thống. Bạn có thể tìm hiểu thêm trong phần Ưu điểm của ngoại lệ |