1

我应该像这样在哪里记录错误:

try {
    addOne();
} catch (Exception $e) {

}

function addOne($number) {
    if (empty($number)) {
        Log::instance()->add(Log::ERROR, $e->getMessage());
        throw Exception('The incoming number is empty');
    }
    return $number+1;
}

或者我在哪里像这样抓住它?

try {
    addOne();
} catch (Exception $e) {
    Log::instance()->add(Log::ERROR, $e->getMessage());
}

function addOne($number) {
    if (empty($number)) {
    throw Exception('The incoming number is empty');
    }
    return $number+1;
}
4

2 回答 2

1

与 Rami 一样,在方法本身中抛出错误/异常并带有描述性消息,并在 catch 块中记录错误是一个很好的解决方案。它将允许您只有一个日志记录指令来记录您的代码中可能发生的不同类型的异常。抛出异常时进行日志记录将增加日志消息并增加代码大小而没有任何附加值,此外,如果您在多个 catch 块中使用该函数,您将无法跟踪它在哪个块中失败了。

于 2013-10-14T07:47:27.630 回答
-1

当它被捕获时你应该记录一个错误(在catch中),否则即使它们失败并且不会记录错误,你的方法也会被调用,除非你想记录它已经成功,然后你可以将它放在哪里is now 或使用 finally 来记录它。

于 2013-10-14T07:41:27.553 回答