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

Làm thế nào bạn sẽ giải thích rằng một ngoại lệ là một đối tượng trong Python?

Có trong mã đã cho, ‘err’ là một đối tượng ngoại lệ.

Trong python, mọi thứ đều là một đối tượng. Và mọi đối tượng đều có các thuộc tính và phương thức. Vì vậy, các ngoại lệ giống như danh sách, hàm, bộ giá trị, v.v. cũng là các đối tượng. Vì vậy, các ngoại lệ cũng có các thuộc tính như các đối tượng khác. Các thuộc tính này có thể được thiết lập và truy cập như sau. Có một ngoại lệ của lớp cơ sở trong đó hầu hết các ngoại lệ khác đều là các lớp con. Nếu e là một đối tượng ngoại lệ, thì e.args và e.message là các thuộc tính của nó.

Trong triển khai Python hiện tại, các ngoại lệ bao gồm ba phần:loại, giá trị và truy xuất nguồn gốc. Mô-đun sys, mô tả đối tượng ngoại lệ hiện tại trong ba biến, exc_type, exc_value và exc_traceback.

Hàm sys.exc_info () trả về một bộ ba thuộc tính này và câu lệnh raise có dạng ba đối số chấp nhận ba phần này.

Mã cho trước cho kết quả sau

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