C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でスタックトレースを失うことなくInnerExceptionを再スローする方法は?


C#では、throwはキーワードであり、プログラムの実行中に手動で例外をスローすると便利です。要件に基づいてtry-catchブロックを使用して、スローされた例外を処理できます。

catchブロックでthrowキーワードを使用することにより、catchブロックで処理される例外を再スローできます。例外を再スローすることは、呼び出し元に例外を渡して、呼び出し元が希望する方法で処理する場合に役立ちます。

以下は、c#のtry-catchブロックでthrowキーワードを使用して、呼び出し元に例外を再スローする例です。

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

  1. 品質を落とさずに WhatsApp 画像を送信する方法

    WhatsApp は間違いなく優れたコミュニケーション アプリケーションですが、写真を共有するための理想的なプラットフォームとは言えません。 WhatsApp Messenger 経由で写真を送信したことがある場合は、解像度がかなり小さくなることに気付いたはずです。画像がわずかにぼやけてピクセル化されます。プラットフォームが受信者に送信する前に写真の品質を下げる理由はいくつか考えられます。 帯域幅の使用量を減らすため。 サーバーの負荷を軽減する 画像の送受信時間を短縮するため。 これが、ほとんどのユーザーがこのコミュニケーション メディアを画像やその他のメディア ファイルの共有に好まない

  2. Windows 10 でデータを失わずにディスクを初期化する方法

    Windows 10 ラップトップまたはデスクトップにインストールされたハード ドライブで、「不明な初期化されていません」というエラーが表示されることがあります。 」このエラーは、Windows 10 コンピューターの [ディスクの管理] メニューに表示されます。このようなシナリオでは、ユーザーはそのドライブのコンテンツにアクセスできません。初期化するまでは。しかし、ディスクドライブまたはハードドライブを初期化するとデータが消去されますか?答えが「はい」の場合、さまざまな個人/専門ファイルを含む可能性のあるデータが完全に失われる可能性があるため、ユーザーにとっては大きな懸念事項です。 この