【发布时间】:2013-09-16 09:03:56
【问题描述】:
当故意抛出异常时,我一直只是使用 PHP 的基本 Exception 类,只是带有不同的消息,例如:
<?php
if($a < $b){
throw new Exception('a is smaller than b');
}elseif($a > $b){
throw new Exception('a is larger than b');
}
但是,最近我注意到有些人会抛出不同类别的异常,例如:
<?php
if($a < $b){
throw new aIsSmallerThanBException();
}elseif($a > $b){
throw new aIsLargerThanBException();
}
这两种方法的优缺点是什么?我应该以第二种方式来做吗?我注意到,在使用 PHPUnit 进行单元测试时,您可以使用 setExpectedException() 告诉它您期待某类异常。这是否意味着第二种方法在使代码可测试方面更好?
谢谢!
【问题讨论】:
-
请不要在标题中使用伪标签。
标签: php exception-handling phpunit