aboutsummaryrefslogtreecommitdiff
path: root/src/builtins.c
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-28 19:54:37 +0800
committerMistivia <i@mistivia.com>2025-06-28 19:54:37 +0800
commit9a4f460d6dd476767ea211c879f115e127ee2410 (patch)
tree8a7ad58e670065af74c261f51f5f21e9bfec3615 /src/builtins.c
parent0633c6c2797bc9182b2c1888385eac6cb6caed10 (diff)
exception & try-catch
Diffstat (limited to 'src/builtins.c')
-rw-r--r--src/builtins.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/builtins.c b/src/builtins.c
index e39dfa4..9f605c1 100644
--- a/src/builtins.c
+++ b/src/builtins.c
@@ -7,6 +7,11 @@
#include <float.h>
#include <math.h>
+SExpRef builtin_throw(Interp *interp, SExpRef args) {
+ if (LENGTH(args) != 1) return new_error(interp, "throw: syntax error.\n");
+ return new_exception(interp, CAR(args));
+}
+
SExpRef builtin_functionp(Interp *interp, SExpRef args) {
if (LENGTH(args) != 1) {
return new_error(interp, "function?: args num error.\n");