New SPL exceptions proposal
| From: | David Grudl | Date: | Tue, 11 Nov 2008 16:16:37 +0000 |
| Subject: | New SPL exceptions proposal | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-41855@lists.php.net to get a copy of this message | ||
Hello *internals* and Marcus!
What do you think about possibility to implement to PHP 5.3 several useful default exceptions?
(note that InvalidArgumentException, RuntimeException and LogicException exists since PHP 5.1)
/**
* The exception that is thrown when the value of an argument is
* outside the allowable range of values as defined by the invoked method.
*/
class ArgumentOutOfRangeException extends InvalidArgumentException
{}
/**
* The exception that is thrown when a method call is invalid for the object's
* current state, method has been invoked at an illegal or inappropriate time.
*/
class InvalidStateException extends RuntimeException
{}
/**
* The exception that is thrown when a requested method or operation is not implemented.
*/
class NotImplementedException extends LogicException
{}
/**
* The exception that is thrown when a requested method or operation is deprecated.
*/
class DeprecatedException extends LogicException
{}
/**
* The exception that is thrown when an invoked method is not supported. For scenarios where
* it is sometimes possible to perform the requested operation, see InvalidStateException.
*/
class NotSupportedException extends LogicException
{}
/**
* The exception that is thrown when an I/O error occurs.
*/
class IOException extends RuntimeException
{}
/**
* The exception that is thrown when accessing a file that does not exist on disk.
*/
class FileNotFoundException extends IOException
{}
/**
* The exception that is thrown when part of a file or directory cannot be found.
*/
class DirectoryNotFoundException extends IOException
{}
And the last one (this is something like BadMethodException, but for properties)
/**
* The exception that is thrown when accessing a class member (property or method) fails.
*/
class MemberAccessException extends LogicException
{}
David Grudl