Web サービスでの優れた例外処理戦略についてアドバイスが必要です。
私の Web サービス メソッドは、Oracle データベースに対して標準の CRUD 操作を実行しています。したがって、データを選択してデータセットを返すメソッドと、挿入/更新/または削除を実行して何も返さないメソッドがいくつかあります。
最初は、try-catch-finally で Oracle の例外をキャッチする各 Web サービス メソッドにすべてのコードがありました。これは良くないという Web 上の記事を読みました。例外の可能性がある場合にのみ、try-catch で囲む必要があります。今は、Insert/Update/Delete メソッドだけを try-catch-finally ブロックに入れるのが一番いいのではないかと考えています。
だから私の質問は:
すべてのメソッドを try-catch-finally に入れる必要がありますか? それらはすべて Oracle と対話し、潜在的に例外を引き起こす可能性があります。それとも、Insert/Update および Delete メソッドに対してのみこれを行う必要がありますか?
例外が発生したときに何をしたいのかについて、私は実際には何の要件もありません。私は常識に従っているだけです。彼らがアプリを終了させたくないのは明らかです。何らかの方法で例外をログに記録し、クライアントに再スローすることを計画しています。Oracle 例外が発生したときにこれを行っています。