有以下代码:
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))
{
抛出异常
}
}
}
当执行以下代码时,会有异常发生,试设计自定义异常,对抛出的异常进行处理:
Circle myCir = new Circle();
ObjShowMe.ShowMe(myCir);
//有异常发生,试设计自定义异常,对抛出的异常进行处理
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp4
{
public class NoDescException : ApplicationException
{
public NoDescException() { }
public NoDescException(string message) : base(message) { }
public NoDescException(string message, Exception ex) : base(message, ex) { }
}
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)
{
try
{
if (!(obj is IFun1 && obj is IFun2))
throw new NoDescException("Interface not implemented for " + obj.ToString());
}
catch (NoDescException e)
{
Console.WriteLine(e.Message);
}
}
}
class Program
{
static void Main(string[] args)
{
Circle myCir = new Circle();
ObjShowMe.ShowMe(myCir);
}
}
}