// Error() returns a string representation of the Python exception represented // by the Error e. This is the same as the final line of the Python output from // an uncaught exception. func (e *Error) Error() string { ts := "" en := C.excName(c(e.Kind)) if en.c == nil { ts = stringify(e.Kind) } else { if en.m != nil { ts = C.GoString(en.m) + "." } ts += C.GoString(en.c) } s := stringify(e.Value) return fmt.Sprintf("%s: %s", ts, s) }
// Error() returns a string representation of the Python exception represented // by the Error e. This is the same as the final line of the Python output from // an uncaught exception. func (e *Error) Error() string { ts := "" en := C.excName(c(e.Kind)) if en.c == nil { tpyS := C.PyObject_Str(c(e.Kind)) defer C.decref(tpyS) ts = C.GoString(C.PyString_AsString(tpyS)) } else { if en.m != nil { ts = C.GoString(en.m) + "." } ts += C.GoString(en.c) } pyS := C.PyObject_Str(c(e.Value)) defer C.decref(pyS) s := C.GoString(C.PyString_AsString(pyS)) return fmt.Sprintf("%s: %s", ts, s) }