Если элемент управления действительно должен быть там, я бы сказал, что ваша веб-форма находится в недопустимом состоянии, если она отсутствует, поэтому я бы, вероятно, выбрал InvalidOperationException
:
Исключение, которое выдается, когда вызов метода недопустим для текущего состояния объекта.
Это будет применимо к обоим сценариям; независимо от того, отсутствует ли элемент управления или если он не реализует ожидаемый интерфейс, содержащий объект находится в недопустимом состоянии.
Если это сценарий, который, как ожидается, произойдет по разным причинам (скажем, вы создаете какой-то инструмент, против которого будут программировать другие, и это ситуация, которую они вполне могут создать), возможно, вам следует вместо этого создать два пользовательские исключения, которые очень ясно дают понять, что происходит и как это исправить (например, ControlNotFoundException
и InterfaceNotFoundException
или что-то подобное).