Thanks for taking look this. 1. Python pass a function to c side as callback, and print out the message.
def handleError(message, code): print('** handleError **') * print('exception ' + str(message))* 2. On c side : send stack trace back to python by calling the callback function Callback::Callback(InvocationER rcb) : _rcb(rcb) { } void Callback::handleError(Exception &e, int taskId) { *(_rcb)((char*)e.getStackTrace().c_str(), taskId);* } So, the source of the string is std::string. On the python side is byte array. Ljava.lang.Object; does not exist*\r\n\t*at com Thanks On Sat, Jan 27, 2018 at 4:20 PM, Ned Batchelder <n...@nedbatchelder.com> wrote: > On 1/27/18 3:15 PM, Jason Qian via Python-list wrote: > >> HI >> >> I am a string that contains \r\n\t >> >> [Ljava.lang.Object; does not exist*\r\n\t*at >> com.livecluster.core.tasklet >> >> >> I would like it print as : >> >> [Ljava.lang.Object; does not exist >> tat com.livecluster.core.tasklet >> > > It looks like you are doing something that is a little bit, and perhaps a > lot, more complicated than printing a string. Can you share the code that > is trying to produce that output? > > --Ned. > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list