PHPで例外処理を書いているのですが、
どのように書くのが良いか悩んでいます。
例えば、以下のCode1とCode2ではどちらのほうが良いでしょうか?
Code1では、メインの関数とは別の関数内でthrowして、
それをメインの関数でcatchしています。
Code2では、メインの関数で別の関数からの結果を受け取って、
メインの関数内でthrowしています。
エラーハンドリングのコードを書き慣れてないので、
その他、このように書くのが良いなどあればお教えいただければ助かります。
Code1
lang
1class Checkout 2{ 3 public function main() 4 { 5 try { 6 $this->saveOrder(); 7 $this->saveOrderDetail(); 8 // ... 9 } catch (Exception $e) { 10 // 例外処理 11 } 12 } 13 14 public function saveOrder() 15 { 16 // ... 17 if (Order::save()) { 18 throw new \Exception('注文の保存に失敗'); 19 } 20 } 21 22 // ... 23}
Code2
lang
1class Checkout 2{ 3 public function main() 4 { 5 try { 6 if ($this->saveOrder()) { 7 throw new \Exception('注文の保存に失敗'); 8 } 9 10 if ($this->saveOrderDetail()) { 11 throw new \Exception('注文詳細の保存に失敗'); 12 } 13 // ... 14 } catch (Exception $e) { 15 // 例外処理 16 } 17 } 18 19 public function saveOrder() 20 { 21 // ... 22 return Order::save(); 23 } 24 25 // ... 26}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。