我有一个只包含接口的程序集,以避免不依赖的依赖。现在我有一个名为UndefinedIHttpMacTokenException
的异常类型。因此,您可以看到异常涉及IHttpMacToken
的接口类型。现在我认为最好在interface-assembly中包含异常类型。但这有点矛盾。如果您听到程序集名称(somenamespace.Interfaces)。你不会指望它包含类类型(例外)。
答案 0 :(得分:1)
如果期望接口的实现在某些特定情况下抛出某些异常,则相应的异常应该是包含接口的程序集的一部分。从某种意义上说,代码抛出的异常是程序集接口的一部分,即使异常由类而不是接口表示。
此外,如果您的接口使用您不允许用户扩展的特定类(即密封类),您也应该包括这些类。最后,所有enum
也应该是程序集的一部分。
查看System.Data
程序集,了解.NET的主要组件如何执行此操作的一个很好的示例。程序集的主要目的是提供15个用于从.NET访问数据库的接口。所有异常类,用作参数和返回值的类以及enum
都是System.Data
的一部分。