按运行时给定的类型截获异常

本文关键字:异常 类型 运行时 | 更新日期: 2023-09-27 18:20:40

我正在编写窗口运行时行为,用于FlipView内存高效的图像加载,其中我公开了我的IImageSourceProvider接口。库用户可以编写自己的接口实现(这意味着它可以抛出不同类型的异常),所以我很好奇是否可以按运行时给定的类型拦截异常(也许是通过一些反射)?其主要思想是让库用户能够注册异常类型及其处理程序(因为它是"xaml组件",所以至少在没有任何"黑客"的情况下,他们无法在代码中处理它)。

按运行时给定的类型截获异常

在C#中,可以使用注释指定接口实现中应该抛出哪些异常

http://msdn.microsoft.com/en-us/library/w1htk11d.aspx

这将让实现者将他的异常包装为允许接口抛出的自定义异常。

除非您可以捕获一个泛型异常,然后使用反射来检查捕获的异常类的类型和属性。