-5

注:反対票を投じる前に質問全体を読んでください。

次のコードがあります。コードは再現として機能します。Console.Read();このコードを自分のプロジェクトで使用したいという目的に到達させたいです。例外処理後も実行を継続したい。

using System;
using System.Data;
using System.Text;

namespace Sample
{
  class Program
    {
        static void Main(string[] args)
        {
            try
            {
                throw new FormatException("Format");
            }
            catch (Exception ex)
            {
                if (ex is FormatException || ex is OverflowException)
                {
                    Console.WriteLine("Caught Exception");
                    return;
                }
                throw;
            }

            Console.Read();       //Unreachable Code Detected.
        }

次の警告が表示されます:

警告 1 到達不能なコードが検出されました G:\Samplework\Program.cs 39

  • この問題を解決するにはどうすればよいですか?
  • コードに到達できるようにしたい。
4

6 に答える 6

2

try/catch にfinally部分がありません

    static void Main(string[] args)
    {
        try
        {
            throw new FormatException("Format");
        }
        catch (Exception ex)
        {
            if (ex is FormatException || ex is OverflowException)
            {
                Console.WriteLine("Caught Exception");
                return;
            }
            throw;
        }
        // add this
        finally
        {
            Console.Read();      
        }
    }
于 2013-06-12T06:40:20.220 に答える
0

あなたがやりたかったことについての私の推測:

    static void Main(string[] args)
    {
        try
        {
            throw new FormatException("Format");
        }
        catch (Exception ex)
        {
            if (ex is FormatException || ex is OverflowException)
            {
                Console.WriteLine("Caught Exception");
            }
            else
            {
                throw;
            }
        }

        Console.Read();
    }
于 2013-06-12T06:37:20.153 に答える
0

メソッドが戻るか、例外をスローするため、Console.Read() は決して実行されません。

于 2013-06-12T06:30:43.833 に答える