输出明显比书上少了一半,
貌似switch中的case "simple"下的throw(new System.Exception());出现引发类型为“System.Exception”的异常。
这个怎么处理啊???书上异常处理的实例。新手 请轻拍 谢了。
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;
}
}
}
}
貌似switch中的case "simple"下的throw(new System.Exception());出现引发类型为“System.Exception”的异常。
这个怎么处理啊???书上异常处理的实例。新手 请轻拍 谢了。
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;
}
}
}
}
解决方案 »
- C#调用c的DLL文件,这个方法改怎么写呢?有点迷糊
- foreach 遍历ArrayList 无需拆箱操作
- 双击 c1TrueDBGrid 的问题
- 怎么点击树形菜单,在右框架打开?
- 乍么判断一个窗体是打开的还是关闭的呀
- 怎么样返回刚插入数据库中的记录。
- 请教关于 NetworkStream 两次读取相同数据流出错的问题
- 为什么我的水晶报表现在一打开就提示"没有注册类别"
- 关于GC持有的引用和编译器持有的引用!
- 如何在WIN2000专业版中重新安装如何在WIN2000专业版中重新安装Microsoft OLE DB Provider for Oracle驱动程序?在线等...
- 从别人那里考的程序在自己机子上运行的问题
- 用storyboard做控件的移动,必须结合Canvas吗?
这句代码就是显式抛一个System.Exception异常的,要全部输出的话把这句去掉吧。
还有这是什么书啊?这段代码要干嘛啊?不理解。