class_docstr: Attributes:
   - message
class_docstr_tok: ["Attributes",":","-","message"]
code: def read(self, iprot):
      if (
          iprot._fast_decode is not None
          and isinstance(iprot.trans, TTransport.CReadableTransport)
          and self.thrift_spec is not None
      ):
          iprot._fast_decode(
              self, iprot, [self.__class__, self.thrift_spec]
          )
          return
      iprot.readStructBegin()
      while True:
          (fname, ftype, fid) = iprot.readFieldBegin()
          if ftype == TType.STOP:
              break
          if fid == 1:
              if ftype == TType.STRING:
                  self.message = (
                      iprot.readString().decode("utf-8")
                      if sys.version_info[0] == 2
                      else iprot.readString()
                  )
              else:
                  iprot.skip(ftype)
          else:
              iprot.skip(ftype)
          iprot.readFieldEnd()
      iprot.readStructEnd()
  
imports: from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
  from thrift.protocol.TProtocol import TProtocolException
  from thrift.TRecursive import fix_spec
  import sys
  from thrift.transport import TTransport
label_desc: Use image node_id 2 for calling the QueryException obj's underlying member method code with example usage: obj.read(iprot) without return types