В моем случае каждый раз, когда Fragment входил в @override onCreateView(...)
, я перезапускал значения, поэтому обрабатывал пустые или пустые значения, такие как:
if(var == null){
var = new Something();
}
if(list.isEmpty()){
list = new ArrayList<MyItem>();
}
if(myAdapter == null){
myAdapter = new CustomAdapter();
recyclerView.setAdapter(myAdapter);
}
// etc...
Класс Fragment мог входить в onCreateView каждый раз, когда мы меняемся, и возвращаться к вид из пользовательского интерфейса во время выполнения.
Предполагая, что вы только генерируете и перехватываете свои собственные типы исключений (производные от System.Exception ofc), вы можете сделать свой журнал базовых исключений любым, что вам нужно, в его конструкторе.
You could use Elmah to log your exceptions. It's really easy to use and gives good information about the problem.
Я не думаю, что существует возможность автоматической регистрации обрабатываемых исключений. Если вы уже ведете журнал Application_OnError для необработанных исключений, я боюсь, что Колин прав, и вам придется вызывать свой компонент ведения журнала в блоках catch для обработанных исключений, для которых вы хотите вести журнал.
Мониторинг работоспособности ASP.NET делает это элегантным и довольно автоматическим способом (нет необходимости вручную перехватывать исключения):
Когда вы щелкаете по первой ссылке, появляется пример того, как включить и настроить мониторинг работоспособности ASP.NET. Вам необходимо настроить его в файле web.config.
Для входа в БД вы можете создать соответствующую таблицу с помощью средства регистрации сервера ASP.NET SQL: Средство регистрации сервера ASP.NET SQL (Aspnet_regsql.exe )
Мне это очень нравится. Для ручного ведения журнала вам могут подойти шаблоны и практики Блок приложения журнала Enterprise Library , но это немного не по теме.
Matthias
Вызов вашего компонента регистрации в блоках catch для обрабатываемых исключений.