我目前有一个持有此方法的类:
public function getUser(
) {
if (!empty($this->UserName)){
return $this->UserName;
} else {
throw new Exception('Empty UserName');
}
}
当我在未设置UserName时运行此方法时,catch没有获取抛出的异常,页面只是默默地死掉。
try {
$example = $obj->getUser();
} catch (Exception $ex) {
die($ex->getMessage());
}
连连呢? - 我读过documentation但一无所获。
答案 0 :(得分:1)
这似乎有效,我不得不重新创建我认为是你班级的东西。
<?php
class User {
public $UserName = '';
public function getUser() {
if (empty($this->UserName))
throw new Exception('UserName is empty!');
return $this->UserName;
}
}
try {
$user = (new User())->getUser();
} catch (Exception $e) {
echo $e->getMessage();
}
?>
<强>输出强>
我只能假设你的变量实际上并不是空的。
注意
在PHP中,带有空格的字符串 NOT 被归类为空,
var_dump(empty(' ')); // false
除非你trim
,
var_dump(empty(trim(' '))); // true
错误报告
如果尚未执行此操作,请启用error_reporting
,
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);