- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjs_error.c
More file actions
Latest commit
49 lines (43 loc) · 1.67 KB
/
Copy pathjs_error.c
File metadata and controls
49 lines (43 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include"js.h"
char*strstatus(Statuss) {
switch (s) {
caseOK: return"OK";
caseERROR_outofmemory: return"out of memory";
caseERROR_script_internal: return"script internal error";
caseERROR_script_unrecognized_function: return"script unrecognized function";
caseERROR_tcperror: return"tcperror";
caseERROR_bsonformat: return"bsonformat";
caseERROR_notobject_or_array: return"not object or array";
caseERROR_mathdomain: return"outside math domain";
caseERROR_endoffile: return"end of file";
caseERROR_doesnot_exist: return"does not exist";
caseERROR_script_parse: return"script parse";
caseERROR_json_parse: return"json parse";
caseERROR_not_document: return"not document";
caseERROR_not_found: return"not found";
caseERROR_toomany_local_docstores: return"too many docStores";
caseERROR_txn_being_committed: return"txn being committed";
caseERROR_no_visible_version: return"no visible version";
caseERROR_write_conflict: return"write conflict";
caseERROR_key_constraint_violation:return"key constraint violation";
caseERROR_not_operator_int: return"Invalid iterator seek operation";
caseERROR_not_key: return"not key value";
default:;
}
returnNULL;
}
voiderrorText(Statuss) {
char*status=strstatus(s);
if (!s)
printf("Status: OK\n");
elseif (status)
printf("Error: %s\n", status);
else
printf("Unrecognized error: %d", s);
}
value_tmakeError(Node*node, environment_t*env, char*msg) {
value_tv;
fprintf (stderr, "js error %s line = %d, node id = %d type = %d: %s\n", env->first->script, (int)node->lineNo, (int)(node-env->table), (int)node->type, msg);
v.bits=vt_control;
returnv;
}