.NET APIは、エラーの内容によって発生する例外が異なります。キャッチする例外を切り分けて、発生した例外ごとに処理することが可能です。.NET APIがスローする例外は、主に.NET APIの例外と、それ以外の一般的な例外があります。以下に、.NET APIの例外の継承関係と、例外の意味について説明します。
図10.16 .NET APIの例外クラスの継承関係
例外 | 意味 |
---|---|
ShunException | Shunsakuの例外クラスすべての基底クラスです。 |
ShunConnectionTerminatedException | Shunsakuとの接続が強制切断されたときにスローされる例外です。コネクションの確立から再実行してください。 |
ShunTimeoutException | Shunsakuとの接続がタイムアウトにより強制切断されたときにスローされる例外です。コネクションの確立から再実行してください。 |
ShunTransactionRolledbackException | トランザクションがキャンセルされたときにスローされる例外です。トランザクションの開始点から再実行してください。 |
ShunContinuousException | 警告レベルのエラーが発生したときにスローされる例外です。エラーの原因を取り除き、エラーの発生箇所から再実行してください。 |
ShunAPIConfigException | API用動作環境ファイルに誤りがあります。エラーの原因を取り除き、再実行してください。 |
ShunSystemException | 想定外のエラーが発生した場合にスローされる例外です。エラーメッセージを取得し、当社技術員(SE)に連絡してください。 |
参照
各メソッドでスローされる例外の詳細は、“.NET API リファレンス”を参照してください。
C# .NETの記述例
try { : } catch ( ShunContinuousException e ) { // ShunContinuousExceptionが発生した場合の処理を記述 try { if ( service != null ) { if ( service.State == ShunConnectionState.Open ) { if ( !service.AutoCommit ) { service.Rollback(); } service.Disconnect(); } } } catch( ShunException ex ) { Console.WriteLine( "エラーメッセージ : " + ex.Message ); (1) } Console.WriteLine( "エラーメッセージ : " + e.Message ); } catch ( ShunTransactionRolledbackException e ) { // ShunTransactionRolledbackExceptionが発生した場合の処理を記述 try { if( service != null ) { if( service.State == ShunConnectionState.Open ) { service.Disconnect(); } } } catch( ShunException ex ) { Console.WriteLine( "エラーメッセージ : " + ex.Message ); } Console.WriteLine( "エラーメッセージ : " + e.Message ); } catch (ShunConnectionTerminatedException e ) { // ShunConnectionTerminatedExceptionが発生した場合の処理を記述 Console.WriteLine( "エラーメッセージ : " + e.Message ); } |
VB .NETの記述例
Try : Catch e As ShunContinuousException ' ShunContinuousExceptionが発生した場合の処理を記述 Try If Not service Is Nothing Then If service.State = ShunConnectionState.Open Then If Not service.AutoCommit Then service.Rollback() End If service.Disconnect() End If End If Catch ex As ShunException Console.WriteLine( "エラーメッセージ : " + ex.Message ) (1) End Try Console.WriteLine( "エラーメッセージ : " + e.Message ) Catch e As ShunTransactionRolledbackException ' ShunTransactionRolledbackExceptionが発生した場合の処理を記述 Try If Not service Is Nothing Then If service.State = ShunConnectionState.Open Then service.Disconnect() End If End If Catch ex As ShunException Console.WriteLine( "エラーメッセージ : " + ex.Message ) End Try Console.WriteLine( "エラーメッセージ : " + e.Message ) Catch e As ShunConnectionTerminatedException ' ShunConnectionTerminatedExceptionが発生した場合の処理を記述 Console.WriteLine( "エラーメッセージ : " + e.Message ) End Try |
Messgaeプロパティを使用することで、エラーメッセージを取得することができます。
エラーメッセージの詳細は、“メッセージ集”の“API実行時に出力されるメッセージ”を参照してください。