1 #ifndef _MONO_METADATA_EXCEPTION_H_
2 #define _MONO_METADATA_EXCEPTION_H_
4 #ifdef MONO_USE_EXC_TABLES
5 #define MONO_ARCH_SAVE_REGS __builtin_unwind_init ()
7 #define MONO_ARCH_SAVE_REGS
10 #include <mono/metadata/object.h>
11 #include <mono/metadata/image.h>
13 typedef void (*MonoExceptionClassInitFunc)(MonoClass *klass);
14 typedef void (*MonoExceptionObjectInitFunc)(MonoObject *obj, MonoClass *klass);
17 mono_exception_install_handlers (MonoExceptionClassInitFunc class_init,
18 MonoExceptionObjectInitFunc obj_init);
20 extern MonoException *
21 mono_exception_from_name (MonoImage *image,
22 const char* name_space,
26 mono_exception_from_name_two_strings (MonoImage *image, const char *name_space,
27 const char *name, MonoString *a1, MonoString *a2);
30 mono_exception_from_name_msg (MonoImage *image, const char *name_space,
31 const char *name, const guchar *msg);
33 extern MonoException *
34 mono_exception_from_name_domain (MonoDomain *domain, MonoImage *image,
35 const char* name_space,
39 mono_get_exception_divide_by_zero (void);
42 mono_get_exception_security (void);
45 mono_get_exception_arithmetic (void);
48 mono_get_exception_overflow (void);
51 mono_get_exception_null_reference (void);
54 mono_get_exception_execution_engine (const guchar *msg);
57 mono_get_exception_thread_abort (void);
60 mono_get_exception_thread_state (const guchar *msg);
63 mono_get_exception_serialization (const guchar *msg);
66 mono_get_exception_invalid_cast (void);
69 mono_get_exception_index_out_of_range (void);
72 mono_get_exception_array_type_mismatch (void);
75 mono_get_exception_type_load (MonoString *type_name);
78 mono_get_exception_missing_method (void);
81 mono_get_exception_not_implemented (const guchar *msg);
84 mono_get_exception_argument_null (const guchar *arg);
87 mono_get_exception_argument (const guchar *arg, const guchar *msg);
90 mono_get_exception_argument_out_of_range (const guchar *arg);
93 mono_get_exception_io (const guchar *msg);
96 mono_get_exception_file_not_found (MonoString *fname);
99 mono_get_exception_type_initialization (const gchar *type_name, MonoException *inner);
102 mono_get_exception_synchronization_lock (const guchar *msg);
105 mono_get_exception_cannot_unload_appdomain (const guchar *msg);
108 mono_get_exception_appdomain_unloaded (void);
111 mono_get_exception_bad_image_format (const guchar *msg);
114 mono_get_exception_stack_overflow (void);
116 #endif /* _MONO_METADATA_EXCEPTION_H_ */