У меня есть один метод, который выглядит так:
void throwException(string msg)
{
throw new MyException(msg);
}
Теперь, если я пишу
int foo(int x, y)
{
if (y == 0)
throwException("Doh!");
else
return x/y;
}
компилятор будет жаловаться на foo, что "не все пути возвращают значение".
Есть ли атрибут, который я могу добавить для throwException, чтобы этого избежать? Что-то вроде:
[NeverReturns]
void throwException(string msg)
{
throw new MyException(msg);
}
Я боюсь, что пользовательские атрибуты не будут делать, потому что для моей цели мне понадобится сотрудничество с компилятором.