]> gitweb.factorcode.org Git - factor.git/blob - vm/errors.hpp
vm: add factorbug command to throw exception
[factor.git] / vm / errors.hpp
1 namespace factor
2 {
3
4 /* Runtime errors */
5 enum vm_error_type
6 {
7         ERROR_EXPIRED = 0,
8         ERROR_IO,
9         ERROR_NOT_IMPLEMENTED,
10         ERROR_TYPE,
11         ERROR_DIVIDE_BY_ZERO,
12         ERROR_SIGNAL,
13         ERROR_ARRAY_SIZE,
14         ERROR_C_STRING,
15         ERROR_FFI,
16         ERROR_UNDEFINED_SYMBOL,
17         ERROR_DATASTACK_UNDERFLOW,
18         ERROR_DATASTACK_OVERFLOW,
19         ERROR_RETAINSTACK_UNDERFLOW,
20         ERROR_RETAINSTACK_OVERFLOW,
21         ERROR_CALLSTACK_UNDERFLOW,
22         ERROR_CALLSTACK_OVERFLOW,
23         ERROR_MEMORY,
24         ERROR_FP_TRAP,
25         ERROR_INTERRUPT,
26 };
27
28 void fatal_error(const char *msg, cell tagged);
29 void critical_error(const char *msg, cell tagged);
30 void out_of_memory();
31 void memory_signal_handler_impl();
32 void fp_signal_handler_impl();
33 void synchronous_signal_handler_impl();
34
35 }