.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実行時に出力されるメッセージ”を参照してください。