diff --git a/src/pocketpy_c.cpp b/src/pocketpy_c.cpp index 90b32b29..86439a4e 100644 --- a/src/pocketpy_c.cpp +++ b/src/pocketpy_c.cpp @@ -469,7 +469,10 @@ bool pkpy_clear_error(pkpy_vm* vm_handle, char** message) { // no error if (vm->_c.error == nullptr) return false; Exception& e = _py_cast(vm, vm->_c.error); - if (message != nullptr) *message = e.summary().c_str_dup(); + if (message != nullptr) + *message = e.summary().c_str_dup(); + else + std::cerr << e.summary() << std::endl; vm->_c.error = nullptr; // clear the whole stack?? vm->callstack.clear(); diff --git a/tests/dylib/test.c b/tests/dylib/test.c index b1206164..b85e0921 100644 --- a/tests/dylib/test.c +++ b/tests/dylib/test.c @@ -14,10 +14,7 @@ const char* platform_module__init__(pkpy_vm* vm, const char* version){ pkpy_push_module(vm, "test"); pkpy_setattr(vm, pkpy_name("hello")); if(pkpy_check_error(vm)){ - char* err; - pkpy_clear_error(vm, &err); - printf("%s\n", err); - free(err); + pkpy_clear_error(vm, NULL); exit(1); } return "test";