1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #ifndef ZEND_EXCEPTIONS_H
25 #define ZEND_EXCEPTIONS_H
26
27 BEGIN_EXTERN_C()
28
29 extern ZEND_API zend_class_entry *zend_ce_throwable;
30 extern ZEND_API zend_class_entry *zend_ce_exception;
31 extern ZEND_API zend_class_entry *zend_ce_error_exception;
32 extern ZEND_API zend_class_entry *zend_ce_error;
33 extern ZEND_API zend_class_entry *zend_ce_parse_error;
34 extern ZEND_API zend_class_entry *zend_ce_type_error;
35 extern ZEND_API zend_class_entry *zend_ce_arithmetic_error;
36 extern ZEND_API zend_class_entry *zend_ce_division_by_zero_error;
37
38 ZEND_API void zend_exception_set_previous(zend_object *exception, zend_object *add_previous);
39 ZEND_API void zend_exception_save(void);
40 ZEND_API void zend_exception_restore(void);
41
42 ZEND_API ZEND_COLD void zend_throw_exception_internal(zval *exception);
43
44 void zend_register_default_exception(void);
45
46 ZEND_API zend_class_entry *zend_get_exception_base(zval *object);
47
48
49 ZEND_API zend_class_entry *zend_exception_get_default(void);
50
51
52 ZEND_API zend_class_entry *zend_get_error_exception(void);
53
54 ZEND_API void zend_register_default_classes(void);
55
56
57
58 ZEND_API ZEND_COLD zend_object *zend_throw_exception(zend_class_entry *exception_ce, const char *message, zend_long code);
59 ZEND_API ZEND_COLD zend_object *zend_throw_exception_ex(zend_class_entry *exception_ce, zend_long code, const char *format, ...);
60 ZEND_API ZEND_COLD void zend_throw_exception_object(zval *exception);
61 ZEND_API void zend_clear_exception(void);
62
63 ZEND_API zend_object *zend_throw_error_exception(zend_class_entry *exception_ce, const char *message, zend_long code, int severity);
64
65 extern ZEND_API void (*zend_throw_exception_hook)(zval *ex);
66
67
68 ZEND_API ZEND_COLD void zend_exception_error(zend_object *exception, int severity);
69
70
71 size_t zend_spprintf(char **message, size_t max_len, const char *format, ...);
72 zend_string *zend_strpprintf(size_t max_len, const char *format, ...);
73
74 END_EXTERN_C()
75
76 #endif
77
78
79
80
81
82
83
84