Win32Exception Class

Definition

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

public ref class Win32Exception : Exception
public ref class Win32Exception : System::Runtime::InteropServices::ExternalException
public class Win32Exception : Exception
public class Win32Exception : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public class Win32Exception : System.Runtime.InteropServices.ExternalException
type Win32Exception = class
    inherit Exception
type Win32Exception = class
    inherit ExternalException
    interface ISerializable
Public Class Win32Exception
Inherits Exception
Public Class Win32Exception
Inherits ExternalException
Inheritance
Win32Exception
Inheritance
Derived
Attributes
Implements

Examples

下列程式碼範例示範如何攔截 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

Remarks

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 檔中的「Win32 錯誤碼」,位於https://msdn.microsoft.comFor more information about the error codes, see "Win32 Error Codes" in the Platform SDK documentation at https://msdn.microsoft.com.

Constructors

Win32Exception()

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

Win32Exception(Int32)

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

Win32Exception(Int32, String)

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

Win32Exception(SerializationInfo, StreamingContext)

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

Win32Exception(String)

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

Win32Exception(String, Exception)

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

Properties

Data

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

(Inherited from Exception)
ErrorCode

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

(Inherited from ExternalException)
HelpLink

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

(Inherited from Exception)
HResult

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

(Inherited from Exception)
InnerException

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

(Inherited from Exception)
Message

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

(Inherited from Exception)
NativeErrorCode

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

Source

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

(Inherited from Exception)
StackTrace

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

(Inherited from Exception)
TargetSite

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

(Inherited from Exception)

Methods

Equals(Object)

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

(Inherited from Object)
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()

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

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext)

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

GetObjectData(SerializationInfo, StreamingContext)

在衍生類別中覆寫時,使用例外狀況的資訊設定 SerializationInfoWhen overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType()

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

(Inherited from Exception)
MemberwiseClone()

建立目前 Object 的淺層複製。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

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

ToString()

建立並傳回目前例外狀況的字串表示。Creates and returns a string representation of the current exception.

(Inherited from Exception)
ToString()

傳回字串,其中包含錯誤的 HRESULT。Returns a string that contains the HRESULT of the error.

(Inherited from ExternalException)

Events

SerializeObjectState

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

(Inherited from Exception)

Applies to