В настоящее время я разрабатываю решение и спроектировал его таким образом, чтобы оно строго реализовывало шаблон стратегии/поставщика. Таким образом, решение предоставляет ряд интерфейсов и содержит реализации этих интерфейсов по умолчанию, которые можно заменить с помощью методологии типа DI.
Если хост-приложение использует несколько таких интерфейсов, ожидается, что оно будет обрабатывать определенные исключения, которые могут возникнуть, например, интерфейс IDataRetriever
имеет метод SomeDataType GetData(int timeout);
, а хост может обрабатывать некоторые настраиваемые исключения, такие как DataRetrievalTimeoutException
или NetworkConnectionException
.
Мой вопрос: как лучше всего разметить класс интерфейса, чтобы, когда разработчик его реализует, он знал, что определенные исключения должны быть выброшены и будут обрабатываться хостом?
На данный момент я только что добавил теги исключения xml в комментарий xml методов - этого достаточно?