PHP コードで try..catch ブロックを使用していますが、それらを正しく使用しているかどうかはわかりません。
たとえば、私のコードの一部は次のようになります。
try {
$tableAresults = $dbHandler->doSomethingWithTableA();
$tableBresults = $dbHandler->doSomethingElseWithTableB();
} catch (Exception $e) {
return $e;
}
したがって、複数のデータベース操作を同じ try/catch ブロックにグループ化しています。トランザクションのいずれかで例外が発生した場合、それを処理できるからです。
以下よりも読みやすく効率的だと思うので、そのようにしています。
try {
$tableAresults = $dbHandler->doSomethingWithTableA();
} catch (Exception $e) {
return $e;
}
try {
$tableBresults = $dbHandler->doSomethingWithTableB();
} catch (Exception $e) {
return $e;
}
ただし、私が行っていることが良い習慣なのか、それとも例外をキャッチするための怠惰な方法なのかはわかりません。
私の仮定では、例外に特別な処理が必要な場合にのみ、独自の try/catch ブロックが必要であり、それ以外の場合は、それらを同じ try/catch にグループ化しても問題ありません。
だから私の質問は次のとおりです。
データベース トランザクションごとに try/catch ブロックを使用する利点はありますか? または、複数のデータベース トランザクションを同じ try/catch ブロックにグループ化しても問題ありませんか?
try/catch ブロックを入れ子にすることはできますか? ありがとう!
編集
return ステートメントは主にデモンストレーションのみを目的としていましたが、returns in も使用しています。catch()
これは、そのメソッドに対して AJAX 要求を行っており、Javascript が JSON オブジェクトを予期しているためです。例外が発生した場合は、空の JSON エンコード配列を返します。 . 私の例に特定のコードを入れても何の価値もないと思っただけです。