我是一名优秀的Python程序员,但在PHP方面并不完全。我需要尝试一些东西,如果不能解决问题,那就做点别的了。
这就是Python中的样子:
try:
print "stuf"
except:
print "something else"
这在PHP中会是什么?
答案 0 :(得分:7)
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。
答案 1 :(得分:5)
try {
// do stuff ...
} catch (Exception $e) {
print($e->getMessage());
}
答案 2 :(得分:1)
除非你覆盖默认行为set your own error handler,否则PHP本身不像Python那样支持错误捕获。 PHP的try
- catch
最近才被添加到版本5中的语言中,它只能捕获您明确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();
}
答案 3 :(得分:1)
答案 4 :(得分:0)
PHP 5有exception model:
try {
print 'stuff';
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
答案 5 :(得分:0)
假设您正在尝试捕获异常,请查看http://php.net/manual/en/language.exceptions.php
您可以尝试类似
的内容try {
echo "Stuff";
} catch (Exception $e) {
echo "Something Else";
}