Merge pull request #704 from jgagnon/master
[mono.git] / mono / metadata / exception.h
1 #ifndef _MONO_METADATA_EXCEPTION_H_
2 #define _MONO_METADATA_EXCEPTION_H_
3
4 #include <mono/metadata/object.h>
5 #include <mono/metadata/image.h>
6
7 MONO_BEGIN_DECLS
8
9 extern MONO_API MonoException *
10 mono_exception_from_name               (MonoImage *image, 
11                                         const char* name_space, 
12                                         const char *name);
13
14 MONO_API MonoException *
15 mono_exception_from_token              (MonoImage *image, uint32_t token);
16
17 MONO_API MonoException *
18 mono_exception_from_name_two_strings (MonoImage *image, const char *name_space,
19                                       const char *name, MonoString *a1, MonoString *a2);
20
21 MONO_API MonoException *
22 mono_exception_from_name_msg           (MonoImage *image, const char *name_space,
23                                         const char *name, const char *msg);
24
25 MONO_API MonoException *
26 mono_exception_from_token_two_strings (MonoImage *image, uint32_t token,
27                                                    MonoString *a1, MonoString *a2);
28
29 extern MONO_API MonoException *
30 mono_exception_from_name_domain        (MonoDomain *domain, MonoImage *image, 
31                                         const char* name_space, 
32                                         const char *name);
33
34 MONO_API MonoException *
35 mono_get_exception_divide_by_zero      (void);
36
37 MONO_API MonoException *
38 mono_get_exception_security            (void);
39
40 MONO_API MonoException *
41 mono_get_exception_arithmetic          (void);
42
43 MONO_API MonoException *
44 mono_get_exception_overflow            (void);
45
46 MONO_API MonoException *
47 mono_get_exception_null_reference      (void);
48
49 MONO_API MonoException *
50 mono_get_exception_execution_engine    (const char *msg);
51
52 MONO_API MonoException *
53 mono_get_exception_thread_abort        (void);
54
55 MONO_API MonoException *
56 mono_get_exception_thread_state        (const char *msg);
57
58 MONO_API MonoException *
59 mono_get_exception_thread_interrupted  (void);
60
61 MONO_API MonoException *
62 mono_get_exception_serialization       (const char *msg);
63
64 MONO_API MonoException *
65 mono_get_exception_invalid_cast        (void);
66
67 MONO_API MonoException *
68 mono_get_exception_invalid_operation (const char *msg);
69
70 MONO_API MonoException *
71 mono_get_exception_index_out_of_range  (void);
72
73 MONO_API MonoException *
74 mono_get_exception_array_type_mismatch (void);
75
76 MONO_API MonoException *
77 mono_get_exception_type_load           (MonoString *class_name, char *assembly_name);
78
79 MONO_API MonoException *
80 mono_get_exception_missing_method      (const char *class_name, const char *member_name);
81
82 MONO_API MonoException *
83 mono_get_exception_missing_field       (const char *class_name, const char *member_name);
84
85 MONO_API MonoException *
86 mono_get_exception_not_implemented     (const char *msg);
87
88 MONO_API MonoException *
89 mono_get_exception_not_supported       (const char *msg);
90
91 MONO_API MonoException*
92 mono_get_exception_argument_null       (const char *arg);
93
94 MONO_API MonoException *
95 mono_get_exception_argument            (const char *arg, const char *msg);
96
97 MONO_API MonoException *
98 mono_get_exception_argument_out_of_range (const char *arg);
99
100 MONO_API MonoException *
101 mono_get_exception_io                    (const char *msg);
102
103 MONO_API MonoException *
104 mono_get_exception_file_not_found        (MonoString *fname);
105
106 MONO_API MonoException *
107 mono_get_exception_file_not_found2       (const char *msg, MonoString *fname);
108
109 MONO_API MonoException *
110 mono_get_exception_type_initialization (const char *type_name, MonoException *inner);
111
112 MONO_API MonoException *
113 mono_get_exception_synchronization_lock (const char *msg);
114
115 MONO_API MonoException *
116 mono_get_exception_cannot_unload_appdomain (const char *msg);
117
118 MONO_API MonoException *
119 mono_get_exception_appdomain_unloaded (void);
120
121 MONO_API MonoException *
122 mono_get_exception_bad_image_format (const char *msg);
123
124 MONO_API MonoException *
125 mono_get_exception_bad_image_format2 (const char *msg, MonoString *fname);
126
127 MONO_API MonoException *
128 mono_get_exception_stack_overflow (void);
129
130 MONO_API MonoException *
131 mono_get_exception_out_of_memory (void);
132
133 MONO_API MonoException *
134 mono_get_exception_field_access (void);
135
136 MONO_API MonoException *
137 mono_get_exception_method_access (void);
138
139 MONO_API MonoException *
140 mono_get_exception_reflection_type_load (MonoArray *types, MonoArray *exceptions);
141
142 MONO_API MonoException *
143 mono_get_exception_runtime_wrapped (MonoObject *wrapped_exception);
144
145 MONO_END_DECLS
146
147 #endif /* _MONO_METADATA_EXCEPTION_H_ */