【Transact-SQL】例外処理(Try Catch文)の実装 ALL 2023.06.082023.08.02 この記事は約2分で読めます。 基本コードシリーズになります。 ストアドがエラー無く登録されたとしても、パラメータ次第で論理エラーが発生する可能性は存在します。当然、エラーのハンドリングが必要となります。 今回は例外処理をSQL(ストアドプロシージャ)内で実装するやり方を解説します。 目次 目次.やり方.コード例.[BEGIN TRY]の前にトランザクションを開始し、例外処理でロールバックする通常処理でエラーが発生した際に、例外処理で失敗コードを結果変数にセットするエラーが発生する可能性があるコードでエラーのハンドリングをする 目次. やり方. コードは非常にシンプルで、C#やJavaといった王道な言語と構造は同様です。 BEGIN TRY ~通常処理~END TRYBEGIN CATCH ~例外処理~END CATCH 【通常処理】エラーが発生する可能性があるコードを記述します。エラーが発生した場合そこで処理は中断され、ブロック内のその後の処理は流れずに例外処理が実行されます。 【例外処理】通常処理でエラーが発生したところで通常処理を中断し、例外処理が実行されます。 コード例. いくつかの使用例を紹介します。 色々な場面で使用できるため、参考にしてみてください。 [BEGIN TRY]の前にトランザクションを開始し、例外処理でロールバックする BEGIN TRANSACTIONBEGIN TRY SET @BOX = CONVERT(int, @PARAMETER) COMMIT TRANSACTIONEND TRYBEGIN CATCH ROLLBACK TRANSACTIONEND CATCH 通常処理でエラーが発生した際に、例外処理で失敗コードを結果変数にセットする DECLARE @RESULT intDECLARE @BOX intBEGIN TRY SET @BOX = CONVERT(int, @PARAMETER)END TRYBEGIN CATCH SET @RESULT = -1END CATCH エラーが発生する可能性があるコードでエラーのハンドリングをする DECLARE @BOX intBEGIN TRY SET @BOX = CONVERT(int, @PARAMETER)END TRYBEGIN CATCH SET @BOX = 0END CATCH