using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
* ***************************************
* 定义了一个循环,定义了一个自定义异常类
* 输出(如果输入1):
* 1
* 内finally
* 第一级错误:自定义错误1 第二级错误:再一次出错
* 外finally
* ***************************************
*/
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
while (true)
{
string str = Console.ReadLine();
Console.WriteLine(str);
try
{
try
{
if (str == "1")
{
throw new CustomException();
}
}
catch (CustomException ex)
{
throw new CustomException("再一次出错",ex);
}
finally
{
Console.WriteLine("内finally");
}
}
catch (CustomException ex)
{
Console.WriteLine("第一级错误:" + ex.InnerException.Message + "\t第二级错误:" + ex.Message);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.WriteLine("外finally");
}
}
}
}
/// <summary>
/// 自定义异常类
/// </summary>
class CustomException : ApplicationException
{
public CustomException(string msg = "自定义错误1")
: base(msg)
{
}
public CustomException(string msg, Exception innerException)
: base(msg, innerException)
{
}
}
}
