/*! @file @brief System.IOに属す例外クラスの定義 */ Namespace ActiveBasic Const AB_E_IO = &h80041620 '80131620 End Namespace Namespace System Namespace IO /*! @brief IO処理に関する例外のクラス @author Egtra @date 2007/12/06 */ Class IOException Inherits SystemException Public /*! @biref コンストラクタ */ Sub IOException() SystemException(GetType().FullName) HResult = ActiveBasic.AB_E_IO End Sub /*! @biref コンストラクタ @param[in] message エラーメッセージ */ Sub IOException(message As String) SystemException(message) HResult = ActiveBasic.AB_E_IO End Sub /*! @biref コンストラクタ @param[in] message エラーメッセージ @param[in] innerException 内部例外 */ Sub IOException(message As String, innerException As Exception) SystemException(message, innerException) HResult = ActiveBasic.AB_E_IO End Sub /*! @biref コンストラクタ @param[in] message エラーメッセージ @param[in] hr HRESULT例外値 */ Sub IOException(message As String, hr As HRESULT) SystemException(message) HResult = hr End Sub End Class Namespace Detail /*! @brief Windowsエラー値を基にIOExceptionを投げる。 @param[in] message エラーメッセージ @author Egtra @date 2007/12/06 */ Sub ThrowWinIOException(msg As String, error As DWord) Throw New IOException(msg, HRESULT_FROM_WIN32(error)) End Sub /*! @brief GetLastError()の値を基にIOExceptionを投げる。 @param[in] message エラーメッセージ @author Egtra @date 2007/12/06 */ Sub ThrowWinLastErrorIOException(msg As String) Throw New IOException(msg, HRESULT_FROM_WIN32(GetLastError())) End Sub End Namespace End Namespace 'IO End Namespace 'System