потому что DivideByZeroException.Message - это попытка обратиться к статическому члену класса.
Нет переменной - нет и возможности обратиться к данным.
Если считаешь что так быть не должно - пиши предложение в language design, описывай зачем это надо, во что оно должно компилироваться на уровне IL, и как не сломать существующий код.