读书人

引发类型为“System.Exception”的错误

发布时间: 2012-06-24 18:32:37 作者: rapoo

引发类型为“System.Exception”的异常。什么意思???
输出明显比书上少了一半,
貌似switch中的case "simple"下的throw(new System.Exception());出现引发类型为“System.Exception”的异常。
这个怎么处理啊???

书上异常处理的实例。。。。新手 请轻拍 谢了。


C# code
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Ch07Ex02{    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() Systrm.IndexOutOfRangeException catch" + "block reached.Message:\n\"{0}\"", e.Message);                }                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\")" + "try 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.");                    }                    break;            }        }    }}


[解决办法]
throw(new System.Exception());
这句代码就是显式抛一个System.Exception异常的,要全部输出的话把这句去掉吧。
还有这是什么书啊?这段代码要干嘛啊?不理解。

读书人网 >C#

热点推荐