在PHP中,如何使用try-catch为链式方法解析多个Exception对象?

0 php exception-handling try-catch

我正在尝试将多个setter方法链接在一起.我想知道是否有人知道一种解决多个错误的简洁方法,最好使用try-catch块使用默认的Exception类进行处理.

由于代码现在,我收到的是第一个被捕获的异常对象(来自foo),因此我只能向用户显示一个错误.

任何指针或约定将不胜感激!

class Test {
   function setName($name) {
      if (empty($name))
         throw new Exception("Name is empty.");

      return $this;
   }

   function setDescription($description) {
      if (empty($description))
         throw new Exception("Description.");

      return $this;
}


try {

   $object->setName("foo")
          ->setDescription("bar");

} catch(Exception $e) {

}
Run Code Online (Sandbox Code Playgroud)

Dan*_* W. 5

您可以捕获不同的异常,但一次只能捕获1个异常.例外不仅仅是警告通知,例外意味着某个功能无法获得预期的结果而且程序不能简单地继续下去.用于告诉用户他没有填写特定字段是没有意义的.

使用其他技术.