回 帖 发 新 帖 刷新版面

主题:求助~

#region Using directives

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

#endregion

namespace ConsoleApplication1
{
    
    class Program
    {
        static string[] eTypes = {"none", "simple", "index", "nested index"};

        static void Main(string[] args)
        {
            foreach (string eType in eTypes)
            {
                try
                {
                    Console.WriteLine("Main try block reached.");
                    Console.WriteLine("ThrowException (\"{0}\") called", eType);
                    ThrowException(eType);
                    Console.WriteLine("Main() try block continues.");
                }
                catch (System.IndexOutOfRangeException e)
                {
                    Console.WriteLine("Main() System.IndexOutOfRangeException catch" + "block reached. Message:\n\"{0}\"", e.Message);
                }
                catch
                {
                    Console.WriteLine("Main() general catch block reached.");
                }
                finally
                {
                    Console.WriteLine("Main() finally block reached.");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }

        static void ThrowException(string exceptionType)
        {
            Console.WriteLine("ThrowException(\"{0}\") reached.", exceptionType);
            switch (exceptionType)
            {
                case "none":
                    Console.WriteLine("Not throwing an exception.");
                    break;
                case "simple" :
                    Console.WriteLine("Throwing System.Exception.");
                    throw (new System.Exception());
                    break;
                case "index" :
                    Console.WriteLine("Throwing System.IndexOutOfRangeException.");
                    eTypes[4] = "error";
                    break;
                case "nested index" :
                    try
                    {
                        Console.WriteLine("ThrowException(\"nested index\")" + "ry block reached.");
                        Console.WriteLine("ThrowException(\"index\") called.");
                        ThrowException("index");
                    }
                    catch
                    {
                        Console.WriteLine("ThrowException (\"nested index\" general" + "catch block reached.");
                    }
                    finally
                    {
                        Console.WriteLine("ThrowException(\"nested index\") finally" + "block reached.");
                    }
            }
                
        }
    }
}
。。。请问。。。这代码错在哪里

回复列表 (共1个回复)

沙发

最后加上一个break;

finally
                    {
                        Console.WriteLine("ThrowException(\"nested index\") finally" + "block reached.");
                    }
                    break;

别和C语言弄混了

我来回复

您尚未登录,请登录后再回复。点此登录或注册