Win32Exception Win32Exception Win32Exception Win32Exception Class

定義

對 Win32 錯誤碼擲回例外狀況。Throws an exception for a Win32 error code.

public ref class Win32Exception : System::Runtime::InteropServices::ExternalException
[System.Serializable]
public class Win32Exception : System.Runtime.InteropServices.ExternalException
type Win32Exception = class
    inherit ExternalException
    interface ISerializable
Public Class Win32Exception
Inherits ExternalException
繼承
衍生
屬性
實作

範例

下列程式碼範例示範如何攔截 Win32 例外狀況並解讀其內容。The following code example shows how to catch a Win32 exception and interpret its content. 此範例會嘗試啟動不存在的可執行檔, 這會導致 Win32 例外狀況。The example attempts to start a nonexistent executable, which results in a Win32 exception. 攔截到例外狀況之後, 此範例會提取個別的錯誤訊息、程式碼和例外狀況的來源。Upon catching the exception, the example fetches the respective error message, code, and origin of the exception.

try
{
   System::Diagnostics::Process^ myProc = gcnew System::Diagnostics::Process;
   //Attempting to start a non-existing executable
   myProc->StartInfo->FileName = "c:\nonexist.exe";
   //Start the application and assign it to the process component.
   myProc->Start();
}
catch ( Win32Exception^ w ) 
{
   Console::WriteLine( w->Message );
   Console::WriteLine( w->ErrorCode );
   Console::WriteLine( w->NativeErrorCode );
   Console::WriteLine( w->StackTrace );
   Console::WriteLine( w->Source );
   Exception^ e = w->GetBaseException();
   Console::WriteLine( e->Message );
}
   try {
System.Diagnostics.Process myProc = new System.Diagnostics.Process();
myProc.StartInfo.FileName = "c:\nonexist.exe";  //Attempting to start a non-existing executable
myProc.Start();    //Start the application and assign it to the process component.    
   }
	    catch(Win32Exception w) {
Console.WriteLine(w.Message);
Console.WriteLine(w.ErrorCode.ToString());
Console.WriteLine(w.NativeErrorCode.ToString());
Console.WriteLine(w.StackTrace);
Console.WriteLine(w.Source);
Exception e=w.GetBaseException();
Console.WriteLine(e.Message);
    }
Try
    Dim myProc As New System.Diagnostics.Process()
    myProc.StartInfo.FileName = "c:\nonexist.exe"  'Attempting to start a non-existing executable
    myProc.Start()    'Start the application and assign it to the process component.    

Catch w As System.ComponentModel.Win32Exception
    Console.WriteLine(w.Message)
    Console.WriteLine(w.ErrorCode.ToString())
    Console.WriteLine(w.NativeErrorCode.ToString())
    Console.WriteLine(w.StackTrace)
    Console.WriteLine(w.Source)
    Dim e As New Exception()
    e = w.GetBaseException()
    Console.WriteLine(e.Message)
End Try

備註

Win32 錯誤碼在顯示時,會從數字表示轉譯為系統訊息。Win32 error codes are translated from their numeric representations into a system message when they are displayed. 使用NativeErrorCode來存取與這個例外狀況相關聯之錯誤碼的數位表示。Use NativeErrorCode to access the numeric representation of the error code associated with this exception. 如需錯誤碼的詳細資訊, 請參閱 Platform SDK 檔http://msdn.microsoft.com中的「Win32 錯誤碼」。For more information about the error codes, see "Win32 Error Codes" in the Platform SDK documentation at http://msdn.microsoft.com.

建構函式

Win32Exception() Win32Exception() Win32Exception() Win32Exception()

使用最後發生的 Win32 錯誤,初始化 Win32Exception 類別的新執行個體。Initializes a new instance of the Win32Exception class with the last Win32 error that occurred.

Win32Exception(Int32) Win32Exception(Int32) Win32Exception(Int32) Win32Exception(Int32)

使用指定的錯誤來初始化 Win32Exception 類別的新執行個體。Initializes a new instance of the Win32Exception class with the specified error.

Win32Exception(Int32, String) Win32Exception(Int32, String) Win32Exception(Int32, String) Win32Exception(Int32, String)

使用指定的錯誤和指定的詳細描述來初始化 Win32Exception 類別的新執行個體。Initializes a new instance of the Win32Exception class with the specified error and the specified detailed description.

Win32Exception(SerializationInfo, StreamingContext) Win32Exception(SerializationInfo, StreamingContext) Win32Exception(SerializationInfo, StreamingContext) Win32Exception(SerializationInfo, StreamingContext)

使用指定的內容和序列化 (Serialization) 資訊,初始化 Win32Exception 類別的新執行個體。Initializes a new instance of the Win32Exception class with the specified context and the serialization information.

Win32Exception(String) Win32Exception(String) Win32Exception(String) Win32Exception(String)

使用指定的詳細描述來初始化 Win32Exception 類別的新執行個體。Initializes a new instance of the Win32Exception class with the specified detailed description.

Win32Exception(String, Exception) Win32Exception(String, Exception) Win32Exception(String, Exception) Win32Exception(String, Exception)

使用指定的詳細描述和指定的例外狀況,初始化 Win32Exception 類別的新執行個體。Initializes a new instance of the Win32Exception class with the specified detailed description and the specified exception.

屬性

Data Data Data Data

取得提供例外狀況之其他使用者定義相關資訊的索引鍵/值組集合。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
ErrorCode ErrorCode ErrorCode ErrorCode

取得錯誤的 HRESULTGets the HRESULT of the error.

(Inherited from ExternalException)
HelpLink HelpLink HelpLink HelpLink

取得或設定與這個例外狀況相關聯的說明檔連結。Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

取得或設定 HRESULT,它是指派給特定例外狀況的編碼數值。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

取得造成目前例外狀況的 Exception 執行個體。Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

取得描述目前例外狀況的訊息。Gets a message that describes the current exception.

(Inherited from Exception)
NativeErrorCode NativeErrorCode NativeErrorCode NativeErrorCode

取得與這個例外狀況關聯的 Win32 錯誤碼。Gets the Win32 error code associated with this exception.

Source Source Source Source

取得或設定造成錯誤的應用程式或物件的名稱。Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

取得呼叫堆疊上即時運算框架的字串表示。Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

取得擲回目前例外狀況的方法。Gets the method that throws the current exception.

(Inherited from Exception)

方法

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

判斷指定的物件是否等於目前的物件。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

在衍生類別中覆寫時,傳回一或多個後續的例外狀況的根本原因 ExceptionWhen overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

做為預設雜湊函式。Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

以發生這個 SerializationInfo 的檔案名稱和行號,設定 Win32Exception 物件。Sets the SerializationInfo object with the file name and line number at which this Win32Exception occurred.

GetType() GetType() GetType() GetType()

取得目前執行個體的執行階段類型。Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

建立目前 Object 的淺層複本 (Shallow Copy)。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

傳回包含 NativeErrorCode,或 HResult,或同時包含兩者的字串。Returns a string that contains the NativeErrorCode, or HResult, or both.

事件

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

當例外狀況序列化,以建立包含例外狀況相關序列化資料的例外狀況狀態物件時,就會發生此事件。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

適用於