在回答PHP rename() doesn't throws exception on error的问题时,我想知道除了SPL之外,是否有任何原生的PHP函数抛出内置的Exception?
yeotifhr1#
PDO can be configured to throw exceptions
ndasle7k2#
不完全是。如果你读了你链接的那页上的注解:
注:
PHP内部函数主要使用Error reporting,只有现代的Object oriented扩展使用exceptions。但是,错误可以简单地转换为ErrorException异常。
toiithl63#
PHP 5有一个类似于其他编程语言的异常模型。ErrorException
tjvv9vkg4#
除了PDO(可以配置为抛出异常)之外,DateTime和DateTimeZone都将在使用无效数据调用构造函数时抛出异常。被零除,虽然不是本机函数,但会触发错误,* 和 * 抛出异常(从PHP 8开始使用算术运算符/时为DivisionByZeroError),但除非您使用set_error_handler()更改了错误处理程序,否则错误将在抛出异常之前停止执行。
4条答案
按热度按时间yeotifhr1#
PDO can be configured to throw exceptions
ndasle7k2#
不完全是。如果你读了你链接的那页上的注解:
注:
PHP内部函数主要使用Error reporting,只有现代的Object oriented扩展使用exceptions。但是,错误可以简单地转换为ErrorException异常。
toiithl63#
PHP 5有一个类似于其他编程语言的异常模型。
ErrorException
tjvv9vkg4#
除了PDO(可以配置为抛出异常)之外,DateTime和DateTimeZone都将在使用无效数据调用构造函数时抛出异常。
被零除,虽然不是本机函数,但会触发错误,* 和 * 抛出异常(从PHP 8开始使用算术运算符/时为DivisionByZeroError),但除非您使用set_error_handler()更改了错误处理程序,否则错误将在抛出异常之前停止执行。