Laravel的例外情况

时间:2017-11-20 14:38:57

标签: php exception-handling laravel-5.5

我想知道用Laravel处理异常的最专业方法是什么。

让我们说我有帖子的表。让我们假设一个用户删除了帖子,第二个用户在2秒后做了相同的操作。然后我们抛出一个异常 - 例如PostNotFoundException。然后我想重定向用户查看带有自定义错误的帖子。这是一个好方法吗?

异常捕获:

try {
    \App\Post::destroy(1);
}   catch (Exception $e) {
    throw new UserNotFoundException($e->getMessage());
}

PostNotFoundException

class PostNotFoundException extends \Exception {

  public function render () {

    return redirect()->route('posts.index')->with([
        'error' => 'User not found.'
    ]);    

  }

}

最好的方法是什么?你能给我一个例子吗?

1 个答案:

答案 0 :(得分:0)

你真的不想抓住例外,因为它可能变得非常昂贵。你可以在delete方法中做一个简单的if语句来检查帖子的状态吗?如果您正在使用softDeletes,那么您只需检查它的值,如果不是,您将只看它是否存在。