抛出异常

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace a
{
	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\")"+"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;
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值