在c#中,throw是一個關鍵字,在程式執行過程中手動拋出異常很有用,我們可以根據需要使用try-catch區塊來處理這些拋出的例外。
透過在 catch 區塊中使用 throw 關鍵字,我們可以重新拋出在 catch 區塊中處理的例外狀況。當我們想要將異常傳遞給呼叫者以按照他們想要的方式處理它時,重新拋出異常非常有用。
以下是使用 throw 關鍵字向呼叫者重新拋出例外狀況的範例在 C# 中使用 try-catch 區塊。
class Program{ static void Main(string[] args){ try{ Method2(); } catch (System.Exception ex){ System.Console.WriteLine($"{ex.StackTrace.ToString()} {ex.Message}"); } Console.ReadLine(); } static void Method2(){ try{ Method1(); } catch (System.Exception){ throw; } } static void Method1(){ try{ throw new NullReferenceException("Null Exception error"); } catch (System.Exception){ throw; } } }
這就是我們如何根據需要在 catch 區塊中使用 throw 關鍵字向呼叫者重新拋出例外。
at DemoApplication.Program.Method1() in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 49 at DemoApplication.Program.Method2() in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 37 at DemoApplication.Program.Main(String[] args) in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 24 Null Exception error#
以上是如何在 C# 中重新拋出 InnerException 而不丟失堆疊追蹤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!