2024-05-12 12:30:50 发布
网友
我是一个很强的Python程序员,但当谈到PHP时,我并不十分擅长。我需要尝试一些东西,如果不成功的话,做点别的。在
这就是Python中的样子:
try: print "stuf" except: print "something else"
在PHP中这是什么?在
try { // do stuff ... } catch (Exception $e) { print($e->getMessage()); }
见http://php.net/manual/en/language.exceptions.php
PHP并不像Python那样在本机支持错误捕捉,除非您重写默认行为和set your own error handler。PHP的try-catch是最近才添加到版本5中的语言中的,它只能捕捉显式throw的异常。
try
catch
throw
所以基本上,PHP区分错误和异常。错误并没有像Python中那样被模块化并提供给用户。我认为这是因为PHP最初是一个collection of dynamic web scripts,随着时间的推移,它得到了越来越多的特性,直到最近才提供了改进的OOP支持(即版本5);而Python基本上支持OOP和其他元功能。以及异常处理from the beginning。
下面是一个用法示例(同样,必须使用throw,否则将不会捕获任何内容):
function oops($a) { if (!$a) { throw new Exception('empty variable'); } return "oops, $a"; } try { print oops($b); } catch (Exception $e) { print "Error occurred: " . $e->getMessage(); }
http://php.net/manual/en/language.exceptions.php
try { print 'stuff'; } catch (Exception $e) { var_dump($e); }
注意:这只适用于异常,不适用于错误。在
请参见http://www.php.net/manual/en/function.set-error-handler.php。
见http://php.net/manual/en/language.exceptions.php
PHP并不像Python那样在本机支持错误捕捉,除非您重写默认行为和set your own error handler。PHP的
try
-catch
是最近才添加到版本5中的语言中的,它只能捕捉显式throw
的异常。所以基本上,PHP区分错误和异常。错误并没有像Python中那样被模块化并提供给用户。我认为这是因为PHP最初是一个collection of dynamic web scripts,随着时间的推移,它得到了越来越多的特性,直到最近才提供了改进的OOP支持(即版本5);而Python基本上支持OOP和其他元功能。以及异常处理from the beginning。
下面是一个用法示例(同样,必须使用
throw
,否则将不会捕获任何内容):http://php.net/manual/en/language.exceptions.php
注意:这只适用于异常,不适用于错误。在
请参见http://www.php.net/manual/en/function.set-error-handler.php。
相关问题 更多 >
编程相关推荐