分析:
考察如何自定义一个异常类,以及如何在程序中抛出异常(throw),处理异常(try…catch…finally块)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shange1_04
{
public class NoDescException : ApplicationException
{
//三种类型的构造函数
public NoDescException() { }
public NoDescException(string message) : base(message) { }
public NoDescException(string message, Exception innerEx) : base(message, innerEx) { }
}
public interface IFun1
{
string ShowMe();
}
public interface IFun2
{
string ShowMe();
}
class Circle : IFun1
{
public string ShowMe()
{
return "Circle-IFun1";
}
}
public class ObjShowMe
{
public static void ShowMe(object obj)
{
if (!(obj is IFun1 && obj is IFun2))
{
throw new NoDescException("Interface not implemented for " + obj.ToString());
}
}
}
class Program
{
static void Main(string[] args)
{
Circle myCir = new Circle();
try
{
ObjShowMe.ShowMe(myCir);
}
catch (NoDescException ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
}
}
}