experiment to convert an error from a primitive function to an exception

This commit is contained in:
2021-06-18 07:10:38 +00:00
parent 0f1df4684a
commit 90b6603567
2 changed files with 41 additions and 21 deletions

View File

@ -3203,7 +3203,14 @@ static int execute (hcl_t* hcl)
break;
case HCL_BRAND_PRIM:
if (call_primitive(hcl, b1) <= -1) goto call_failed;
if (call_primitive(hcl, b1) <= -1)
{
/*
TODO: translate a certain primitive failure to a catchable exception. this seems to work . i need to capture the throw value instead of hcl->_nil .
if (do_throw(hcl, hcl->_nil, fetched_instruction_pointer) <= -1)
*/
goto call_failed;
}
break;
default: