gpt4 book ai didi

php - 异常(exception)-用于用户通知还是错误记录?

转载 作者:行者123 更新时间:2023-12-03 07:55:24 26 4
gpt4 key购买 nike

我试图弄清楚应该使用什么异常。记录应用程序错误或显示用户错误,如果同时显示两者,我应该如何区分和处理用户错误(例如,登录失败)和应用程序错误(例如,连接数据库失败)以及异常。

例如,假设用户尝试登录但失败(用户错误):

if(!$user->login($_POST)) {
//$user->login() throws an Exception, throw new Exception("failed login"), on fail.
catch(Exception $e) {
print $e->getMessage();
}
}

或发生数据库错误(错误记录):
public function query($query) {
$this->resource = mysql_query($query) or throw new Exception("Database error:" . mysql_error());
}

如果有,上述两个示例中的哪个示例是合适的用例?

最佳答案

异常表示信号出程序的某些异常行为。在正常操作期间,您的程序通常通常不会引发任何异常。登录失败之类的现象是登录机制的正常结果,并非异常(exception)。

[登录失败可能是用户端的一个异常(exception)(如果用户有理由期望登录无条件运行)!]

典型的特殊情况是内存不足,磁盘空间不足,数据库连接错误或文件读写过程中的错误。所有这些都是您通常希望工作的东西,因此出现错误是一种特殊情况。

有关更多详细信息,请参见my previous answer

关于php - 异常(exception)-用于用户通知还是错误记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8539519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com