ObjectType instance = (ObjectType)Activator.CreateInstance(objectType);
Activator
класс имеет универсальный вариант, который делает это немного легче:
ObjectType instance = Activator.CreateInstance<ObjectType>();
Используете Java 5 или выше?
Тогда вы видите:
Компилятор в виртуальной машине сервера теперь обеспечивает правильные трассировки стека для всех «холодных» встроенных исключений. В целях повышения производительности, когда такое исключение генерируется несколько раз, метод может быть перекомпилирован. После перекомпиляции компилятор может выбрать более быструю тактику, используя заранее выделенные исключения, которые не обеспечивают трассировку стека. Чтобы полностью отключить использование предварительно выделенных исключений, используйте этот новый флаг:
-XX: -OmitStackTraceInFastThrow
Предоставлено примечаниями к выпуску Java 5 .
Мне кажется, что это особенность, по крайней мере, если трассировки стека действительно идентичны. Зачем вам делать ваши журналы больше (и, следовательно, труднее искать), не получая дополнительной информации? Проверим возможность настройки этой функции ...
РЕДАКТИРОВАТЬ: Я просмотрел код log4j, и никаких следов. Это убедительно свидетельствует о том, что ответ Роберта правильный. Хорошая функция виртуальной машины IMO :)