cvs: php-src /ext/spl php_spl.c spl.php spl_exceptions.c spl_exceptions.h spl_iterators.c

From: Date: Mon, 01 Nov 2004 17:40:01 +0000
Subject: cvs: php-src /ext/spl php_spl.c spl.php spl_exceptions.c spl_exceptions.h spl_iterators.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-29091@lists.php.net to get a copy of this message
helly Mon Nov 1 12:40:01 2004 EDT Modified files: /php-src/ext/spl php_spl.c spl.php spl_exceptions.c spl_exceptions.h spl_iterators.c Log: - Two new exceptions - Make use of new exception classes

http://cvs.php.net/diff.php/php-src/ext/spl/php_spl.c?r1=1.36&r2=1.37&ty=u Index: php-src/ext/spl/php_spl.c diff -u php-src/ext/spl/php_spl.c:1.36 php-src/ext/spl/php_spl.c:1.37 --- php-src/ext/spl/php_spl.c:1.36 Mon Nov 1 10:50:25 2004 +++ php-src/ext/spl/php_spl.c Mon Nov 1 12:39:59 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_spl.c,v 1.36 2004/11/01 15:50:25 helly Exp $ */ +/* $Id: php_spl.c,v 1.37 2004/11/01 17:39:59 helly Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -166,6 +166,7 @@ SPL_ADD_CLASS(AppendIterator, z_list, sub, allow, ce_flags); \ SPL_ADD_CLASS(ArrayObject, z_list, sub, allow, ce_flags); \ SPL_ADD_CLASS(ArrayIterator, z_list, sub, allow, ce_flags); \ + SPL_ADD_CLASS(BadFunctionCallException, z_list, sub, allow, ce_flags); \ SPL_ADD_CLASS(CachingIterator, z_list, sub, allow, ce_flags); \ SPL_ADD_CLASS(CachingRecursiveIterator, z_list, sub, allow, ce_flags); \ SPL_ADD_CLASS(Countable, z_list, sub, allow, ce_flags); \ http://cvs.php.net/diff.php/php-src/ext/spl/spl.php?r1=1.36&r2=1.37&ty=u Index: php-src/ext/spl/spl.php diff -u php-src/ext/spl/spl.php:1.36 php-src/ext/spl/spl.php:1.37 --- php-src/ext/spl/spl.php:1.36 Mon Nov 1 12:05:45 2004 +++ php-src/ext/spl/spl.php Mon Nov 1 12:39:59 2004 @@ -146,6 +146,20 @@ } /** @ingroup SPL + * @brief Exception thrown when a function call was illegal. + */ +class BadFunctionCallException extends LogicException +{ +} + +/** @ingroup SPL + * @brief Exception thrown when a method call was illegal. + */ +class BadMethodCallException extends BadFunctionCallException +{ +} + +/** @ingroup SPL * @brief Exception that denotes a value not in the valid domain was used. * * This kind of exception should be used to inform about domain erors in http://cvs.php.net/diff.php/php-src/ext/spl/spl_exceptions.c?r1=1.2&r2=1.3&ty=u Index: php-src/ext/spl/spl_exceptions.c diff -u php-src/ext/spl/spl_exceptions.c:1.2 php-src/ext/spl/spl_exceptions.c:1.3 --- php-src/ext/spl/spl_exceptions.c:1.2 Mon Nov 1 12:26:15 2004 +++ php-src/ext/spl/spl_exceptions.c Mon Nov 1 12:39:59 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_exceptions.c,v 1.2 2004/11/01 17:26:15 helly Exp $ */ +/* $Id: spl_exceptions.c,v 1.3 2004/11/01 17:39:59 helly Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -34,6 +34,8 @@ #include "spl_exceptions.h" zend_class_entry *spl_ce_LogicException; +zend_class_entry *spl_ce_BadFunctionCallException; +zend_class_entry *spl_ce_BadMethodCallException; zend_class_entry *spl_ce_DomainException; zend_class_entry *spl_ce_InvalidArgumentException; zend_class_entry *spl_ce_LengthException; @@ -50,6 +52,8 @@ PHP_MINIT_FUNCTION(spl_exceptions) { REGISTER_SPL_SUB_CLASS_EX(LogicException, Exception, NULL, NULL); + REGISTER_SPL_SUB_CLASS_EX(BadFunctionCallException, LogicException, NULL, NULL); + REGISTER_SPL_SUB_CLASS_EX(BadMethodCallException, BadFunctionCallException, NULL, NULL); REGISTER_SPL_SUB_CLASS_EX(DomainException, LogicException, NULL, NULL); REGISTER_SPL_SUB_CLASS_EX(InvalidArgumentException, LogicException, NULL, NULL); REGISTER_SPL_SUB_CLASS_EX(LengthException, LogicException, NULL, NULL); http://cvs.php.net/diff.php/php-src/ext/spl/spl_exceptions.h?r1=1.1&r2=1.2&ty=u Index: php-src/ext/spl/spl_exceptions.h diff -u php-src/ext/spl/spl_exceptions.h:1.1 php-src/ext/spl/spl_exceptions.h:1.2 --- php-src/ext/spl/spl_exceptions.h:1.1 Mon Nov 1 10:50:25 2004 +++ php-src/ext/spl/spl_exceptions.h Mon Nov 1 12:39:59 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_exceptions.h,v 1.1 2004/11/01 15:50:25 helly Exp $ */ +/* $Id: spl_exceptions.h,v 1.2 2004/11/01 17:39:59 helly Exp $ */ #ifndef SPL_EXCEPTIONS_H #define SPL_EXCEPTIONS_H @@ -25,6 +25,8 @@ #include "php_spl.h" extern zend_class_entry *spl_ce_LogicException; +extern zend_class_entry *spl_ce_BadFunctionCallException; +extern zend_class_entry *spl_ce_BadMethodCallException; extern zend_class_entry *spl_ce_DomainException; extern zend_class_entry *spl_ce_InvalidArgumentException; extern zend_class_entry *spl_ce_LengthException; http://cvs.php.net/diff.php/php-src/ext/spl/spl_iterators.c?r1=1.49&r2=1.50&ty=u Index: php-src/ext/spl/spl_iterators.c diff -u php-src/ext/spl/spl_iterators.c:1.49 php-src/ext/spl/spl_iterators.c:1.50 --- php-src/ext/spl/spl_iterators.c:1.49 Sun Oct 31 19:26:57 2004 +++ php-src/ext/spl/spl_iterators.c Mon Nov 1 12:39:59 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_iterators.c,v 1.49 2004/11/01 00:26:57 helly Exp $ */ +/* $Id: spl_iterators.c,v 1.50 2004/11/01 17:39:59 helly Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -34,6 +34,7 @@ #include "spl_iterators.h" #include "spl_directory.h" #include "spl_array.h" +#include "spl_exceptions.h" #define INLINE inline @@ -244,7 +245,7 @@ if (child) { zval_ptr_dtor(&child); } - zend_throw_exception(zend_exception_get_default(), "Objects returned by RecursiveIterator::getChildren() must implement RecursiveIterator", 0 TSRMLS_CC); + zend_throw_exception(spl_ce_InvalidArgumentException, "Objects returned by RecursiveIterator::getChildren() must implement RecursiveIterator", 0 TSRMLS_CC); return; } if (object->mode == RIT_CHILD_FIRST) { @@ -612,12 +613,12 @@ } if (intern->u.limit.offset < 0) { php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC); - zend_throw_exception(zend_exception_get_default(), "Parameter offset must be > 0", 0 TSRMLS_CC); + zend_throw_exception(spl_ce_OutOfRangeException, "Parameter offset must be > 0", 0 TSRMLS_CC); return NULL; } if (intern->u.limit.count < 0 && intern->u.limit.count != -1) { php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC); - zend_throw_exception(zend_exception_get_default(), "Parameter count must either be -1 or a value greater than or equal 0", 0 TSRMLS_CC); + zend_throw_exception(spl_ce_OutOfRangeException, "Parameter count must either be -1 or a value greater than or equal 0", 0 TSRMLS_CC); return NULL; } break; @@ -1041,11 +1042,11 @@ spl_dual_it_free(intern TSRMLS_CC); if (pos < intern->u.limit.offset) { - zend_throw_exception_ex(zend_exception_get_default(), 0 TSRMLS_CC, "Cannot seek to %ld which is below the offset %ld", pos, intern->u.limit.offset); + zend_throw_exception_ex(spl_ce_OutOfBoundsException, 0 TSRMLS_CC, "Cannot seek to %ld which is below the offset %ld", pos, intern->u.limit.offset); return; } if (pos > intern->u.limit.offset + intern->u.limit.count && intern->u.limit.count != -1) { - zend_throw_exception_ex(zend_exception_get_default(), 0 TSRMLS_CC, "Cannot seek to %ld which is behind offest %ld plus count %ld", pos, intern->u.limit.offset, intern->u.limit.count); + zend_throw_exception_ex(spl_ce_OutOfBoundsException, 0 TSRMLS_CC, "Cannot seek to %ld which is behind offest %ld plus count %ld", pos, intern->u.limit.offset, intern->u.limit.count); return; } if (instanceof_function(intern->inner.ce, spl_ce_SeekableIterator TSRMLS_CC)) { @@ -1325,7 +1326,7 @@ intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); if (!(intern->u.caching.flags & CIT_CALL_TOSTRING)) { - zend_throw_exception_ex(zend_exception_get_default(), 0 TSRMLS_CC, "%s does not fetch string value (see CachingIterator::__construct)", Z_OBJCE_P(getThis())->name); + zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC, "%s does not fetch string value (see CachingIterator::__construct)", Z_OBJCE_P(getThis())->name); } if (intern->u.caching.zstr) { RETURN_STRINGL(Z_STRVAL_P(intern->u.caching.zstr), Z_STRLEN_P(intern->u.caching.zstr), 1); @@ -1554,14 +1555,14 @@ Throws exception */ SPL_METHOD(EmptyIterator, key) { - zend_throw_exception(NULL, "Accessing the key of an EmptyIterator", 0 TSRMLS_CC); + zend_throw_exception(spl_ce_BadMethodCallException, "Accessing the key of an EmptyIterator", 0 TSRMLS_CC); } /* }}} */ /* {{{ proto EmptyIterator::current() Throws exception */ SPL_METHOD(EmptyIterator, current) { - zend_throw_exception(NULL, "Accessing the value of an EmptyIterator", 0 TSRMLS_CC); + zend_throw_exception(spl_ce_BadMethodCallException, "Accessing the value of an EmptyIterator", 0 TSRMLS_CC); } /* }}} */ /* {{{ proto EmptyIterator::next()
« previous php.cvs (#29091) next »