optimize error handling in json module

This commit is contained in:
ValKmjolnir
2023-11-29 23:24:29 +08:00
parent 8fe08eaea8
commit 5bfc60bbbc
3 changed files with 75 additions and 13 deletions
+30
View File
@@ -39,6 +39,36 @@ println(ss, "\n");
println(json.parse(ss), "\n");
println(libjson.parse(ss), "\n");
var test_func = func(input_string) {
var result = libjson.parse(input_string);
var errno = libjson.get_error();
if (!size(errno)) {
println("\e[92;1msuccess\e[0m:");
println(" ", result);
} else {
println("\e[91;1merror\e[0m:");
foreach(var err; split("\n", errno)) {
println(" |-> ", err);
}
println(" +-> generated with error:");
println(" +-> ", result);
}
}
test_func("[[]]");
test_func("{\"1\":1}");
test_func("[[[}]]]");
test_func("=-==_+_+_+");
test_func("123");
test_func(libjson.stringify({
a: 0,
b: nil,
c: "this is a string",
d: [{}, [[1, 2, 4, 8, 16]]]
}));
test_func("");
println();
var test_json = func(json) {
var bar = process_bar.high_resolution_bar(30);
var tmp = [