@@ -4,6 +4,7 @@ namespace pkpy{
VM::VM(bool enable_os) : heap(this), enable_os(enable_os) {
this->vm = this;
+ this->_c.error = nullptr;
_stdout = [](VM* vm, const Str& s) {
PK_UNUSED(vm);
std::cout << s;
@@ -103,6 +103,15 @@ int main(int argc, char** argv){
std::filesystem::current_path(filepath.parent_path());
bool ok = pkpy_exec_2(vm, src.c_str(), filepath.filename().string().c_str(), 0, NULL);
+ if(!ok){
+ char* err;
+ if(pkpy_clear_error(vm, &err)){
+ std::cerr << err << std::endl;
+ pkpy_free(err);
+ }else{
+ std::cerr << "Unknown error" << std::endl;
+ }
pkpy_delete_vm(vm);
return ok ? 0 : 1;
}