意図的に例外をスローするとき、私は常に 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();
}
これら2つの方法の利点/欠点は何ですか? 2番目のスタイルでやるべきですか?PHPUnit を使用した単体テストでは、setExpectedException() を使用して特定のクラスの例外が発生することを期待していることを伝えることができることに気付きました。これは、コードをテスト可能にするという点で、2 番目の方法の方が優れているということですか?
ありがとう!