1: /*
2: +----------------------------------------------------------------------+
3: | Zend Engine |
4: +----------------------------------------------------------------------+
5: | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
6: +----------------------------------------------------------------------+
7: | This source file is subject to version 2.00 of the Zend license, |
8: | that is bundled with this package in the file LICENSE, and is |
9: | available through the world-wide-web at the following url: |
10: | http://www.zend.com/license/2_00.txt. |
11: | If you did not receive a copy of the Zend license and are unable to |
12: | obtain it through the world-wide-web, please send a note to |
13: | license@zend.com so we can mail you a copy immediately. |
14: +----------------------------------------------------------------------+
15: | Authors: Andi Gutmans <andi@zend.com> |
16: | Marcus Boerger <helly@php.net> |
17: | Sterling Hughes <sterling@php.net> |
18: | Zeev Suraski <zeev@zend.com> |
19: +----------------------------------------------------------------------+
20: */
21:
22: /* $Id: zend_exceptions.h,v 1.1.1.4 2014/06/15 20:04:03 misho Exp $ */
23:
24: #ifndef ZEND_EXCEPTIONS_H
25: #define ZEND_EXCEPTIONS_H
26:
27: BEGIN_EXTERN_C()
28:
29: ZEND_API void zend_exception_set_previous(zval *exception, zval *add_previous TSRMLS_DC);
30: ZEND_API void zend_exception_save(TSRMLS_D);
31: ZEND_API void zend_exception_restore(TSRMLS_D);
32:
33: void zend_throw_exception_internal(zval *exception TSRMLS_DC);
34:
35: void zend_register_default_exception(TSRMLS_D);
36:
37: ZEND_API zend_class_entry *zend_exception_get_default(TSRMLS_D);
38: ZEND_API zend_class_entry *zend_get_error_exception(TSRMLS_D);
39: ZEND_API void zend_register_default_classes(TSRMLS_D);
40:
41: /* exception_ce NULL or zend_exception_get_default() or a derived class
42: * message NULL or the message of the exception */
43: ZEND_API zval * zend_throw_exception(zend_class_entry *exception_ce, char *message, long code TSRMLS_DC);
44: ZEND_API zval * zend_throw_exception_ex(zend_class_entry *exception_ce, long code TSRMLS_DC, char *format, ...);
45: ZEND_API void zend_throw_exception_object(zval *exception TSRMLS_DC);
46: ZEND_API void zend_clear_exception(TSRMLS_D);
47:
48: ZEND_API zval * zend_throw_error_exception(zend_class_entry *exception_ce, char *message, long code, int severity TSRMLS_DC);
49:
50: extern ZEND_API void (*zend_throw_exception_hook)(zval *ex TSRMLS_DC);
51:
52: /* show an exception using zend_error(severity,...), severity should be E_ERROR */
53: ZEND_API void zend_exception_error(zval *exception, int severity TSRMLS_DC);
54:
55: /* do not export, in php it's available thru spprintf directly */
56: int zend_spprintf(char **message, int max_len, char *format, ...);
57:
58: END_EXTERN_C()
59:
60: #endif
61:
62: /*
63: * Local variables:
64: * tab-width: 4
65: * c-basic-offset: 4
66: * indent-tabs-mode: t
67: * End:
68: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>