Php 异常-用于用户通知或错误日志记录?
我试图弄清楚应该使用哪些异常;记录应用程序错误或显示用户错误,如果两者都有,我应该如何区分和处理用户错误(例如登录失败)和应用程序错误(例如连接数据库失败),但有例外 例如,假设用户尝试登录,但失败(用户错误):Php 异常-用于用户通知或错误日志记录?,php,exception,error-handling,Php,Exception,Error Handling,我试图弄清楚应该使用哪些异常;记录应用程序错误或显示用户错误,如果两者都有,我应该如何区分和处理用户错误(例如登录失败)和应用程序错误(例如连接数据库失败),但有例外 例如,假设用户尝试登录,但失败(用户错误): if(!$user->login($_POST)) { //$user->login() throws an Exception, throw new Exception("failed login"), on fail. catch(Exception $
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());
}
或者可能发生数据库错误(错误日志):
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());
}
如果上述两个例子中的任何一个都是异常,那么上述两个例子中的哪一个是合适的用例?异常是用来表示程序部分的异常行为的。在正常操作期间,您的程序通常根本不应该抛出异常。登录失败之类的情况是登录机制的正常结果,而不是异常 [登录失败可能是用户端的例外(如果用户有理由期望登录无条件工作)!] 典型的异常情况包括内存不足、磁盘空间不足、数据库连接错误或在读取或写入文件时出错。所有这些都是您通常希望工作的事情,因此存在一个异常情况
有关更多详细信息,请参阅。异常用于表示程序中的异常行为。在正常操作期间,您的程序通常根本不应该抛出异常。登录失败之类的情况是登录机制的正常结果,而不是异常 [登录失败可能是用户端的例外(如果用户有理由期望登录无条件工作)!] 典型的异常情况包括内存不足、磁盘空间不足、数据库连接错误或在读取或写入文件时出错。所有这些都是您通常希望工作的事情,因此存在一个异常情况
有关更多详细信息,请参阅。查看此问题的首要答案:查看此问题的首要答案: