blueloveTH 2 年之前
父节点
当前提交
35a694ac29
共有 2 个文件被更改,包括 5 次插入5 次删除
  1. 4 1
      src/pocketpy_c.cpp
  2. 1 4
      tests/dylib/test.c

+ 4 - 1
src/pocketpy_c.cpp

@@ -469,7 +469,10 @@ bool pkpy_clear_error(pkpy_vm* vm_handle, char** message) {
     // no error
     // no error
     if (vm->_c.error == nullptr) return false;
     if (vm->_c.error == nullptr) return false;
     Exception& e = _py_cast<Exception&>(vm, vm->_c.error);
     Exception& e = _py_cast<Exception&>(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;
     vm->_c.error = nullptr;
     // clear the whole stack??
     // clear the whole stack??
     vm->callstack.clear();
     vm->callstack.clear();

+ 1 - 4
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_push_module(vm, "test");
     pkpy_setattr(vm, pkpy_name("hello"));
     pkpy_setattr(vm, pkpy_name("hello"));
     if(pkpy_check_error(vm)){
     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);
         exit(1);
     }
     }
     return "test";
     return "test";