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

Cách giải thích exception là object trong Python?

Có, trong code cho trước 'err' là một exception object.

Trong Python mọi thứ đều là object. Và mọi object đều có attributes và methods. Vì vậy exceptions giống như lists, functions, tuples v.v. cũng là objects. Vì vậy exceptions cũng có attributes như các objects khác. Các attributes này có thể được set và truy cập như sau. Có base class exception mà hầu như tất cả exceptions khác đều là subclasses. Nếu e là exception object, thì e.args và e.message là attributes của nó.

Trong Python implementation hiện tại, exceptions bao gồm ba phần: type, value, và traceback. Module sys mô tả current exception object trong ba biến: exc_type, exc_value, và exc_traceback.

Hàm sys.exc_info() trả về tuple của ba attributes này, và raise statement có form ba arguments chấp nhận ba phần này.

Code cho trước cho output sau:

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