Я кодирую приложение для Android и должен поймать в основной деятельности все выброшенные исключения и отправить мне электронное письмо. Но в некоторых районах в моем приложении я не могу просто выбросить исключение методом:Выбросить исключение из основной ситуации из Dialog
Пример: onCreateDialog() в пользовательской DialogFragment:
builder.setView(addCatLayout)
// Add action buttons
.setPositiveButton(R.string.button_ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
try {
// Save some data in DB here
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dialog.dismiss();
}
})
.setNegativeButton(R.string.button_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Close the dialog window
dialog.dismiss();
}
});
return builder.create();
Мой вопрос, как я могу удалить попытаться поймать блок из этот метод и непосредственно бросать исключение, которое нужно уловить в моей основной деятельности? Я хочу иметь только один блок catch catch в основном действии, который улавливает все исключения и отправляет мне почту. Это возможно?
Спасибо!
Вы можете сделать это, исключив исключение. Таким образом, исключение, которое наследуется от RuntimeException. Исключения, подобные этому, не нужно улавливать (проверено). –