我一直在阅读特别是'错误记录'我已经提出了函数'error_log',它似乎是一个用来处理错误记录的好工具.但最流畅和最好的使用方法是怎样的呢?
如果我有
try {
//try a database connection...
} catch (PDOException $e) {
error_log($e->getMessage(), 3, "/var/tmp/my-errors.log");
}
Run Code Online (Sandbox Code Playgroud)
这将记录my-errors.log文件中的错误.但是,如果我有时需要更改文件所在位置,新文件夹或其他内容.如果我有大量文件,我需要更改它们.
现在我开始考虑使用变量来设置错误日志的路径.当然可以工作,但是如果我想在函数或类方法中使用error_log呢?然后我需要将变量设置为全局,但这被认为是不好的做法!但是,如果我不应该在课堂上深入使用这个功能,那么这也不会被认为是不好的做法吗?这里有什么好的解决方案?
<?php
function legit() {
try {
if (1 == 1) {
throw new Exception('There was an error here');
}
} catch (Exception $e) {
throw new Exception('throw the error to the try-catch outside the function...');
}
}
try {
legit();
} catch (Exception $e) {
echo 'error here' . $e->getMessage();
//log it
}
Run Code Online (Sandbox Code Playgroud)
这是我上面讨论的一个例子(没有在类/函数中深入记录......这是一个好方法吗?)
进一步:
我不太确定我应该如何使用一般的例外.假设我想在方法中使用SQL对数据库执行INSERT,我是否会使用try/catch然后在失败时重新抛出异常?这被认为是好习惯吗?请举例.