有没有办法在Android下的警报中显示自定义异常?
我是一名Android开发新手。有没有办法在Android下的警报中显示自定义异常?,android,user-interface,exception,alert,Android,User Interface,Exception,Alert,我是一名Android开发新手。 我想知道是否有一种方法可以监听Android中的自定义异常并使用警报显示其文本。谢谢。只需捕获所需的异常,然后创建一个包含异常内容的新AlertDialog import android.app.Activity; import android.app.AlertDialog; import android.os.Bundle; public class HelloException extends Activity { public class My
我想知道是否有一种方法可以监听Android中的自定义异常并使用警报显示其文本。谢谢。只需捕获所需的异常,然后创建一个包含异常内容的新AlertDialog
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
public class HelloException extends Activity {
public class MyException extends Exception {
private static final long serialVersionUID = 467370249776948948L;
MyException(String message) {
super(message);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public void onResume() {
super.onResume();
try {
doSomething();
} catch (MyException e) {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("MyException Occured");
dialog.setMessage(e.getMessage());
dialog.setNeutralButton("Cool", null);
dialog.create().show();
}
}
private void doSomething() throws MyException {
throw new MyException("Hello world.");
}
}
只是为了让其他用户知道: 如果您希望在任何地方(模型、控制器等)以及视图中使用一个单独的自定义异常,请在任何地方传播该自定义异常,并在异常中定义的方法中添加Trevor的AlertDialog代码,并将其传递给上下文:
package it.unibz.pomodroid.exceptions;
import android.app.AlertDialog;
import android.content.Context;
public class PomodroidException extends Exception{
/**
*
*/
private static final long serialVersionUID = 1L;
// Default constructor
// initializes custom exception variable to none
public PomodroidException() {
// call superclass constructor
super();
}
// Custom Exception Constructor
public PomodroidException(String message) {
// Call super class constructor
super(message);
}
public void alertUser(Context context){
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setTitle("WARNING");
dialog.setMessage(this.toString());
dialog.setNeutralButton("Ok", null);
dialog.create().show();
}
}
在我的代码片段中,方法是alertUser(上下文)。要在活动中显示警报,只需使用:
try {
// ...
} catch (PomodroidException e) {
e.alertUser(this);
}
很容易重载自定义AlertDialog某些部分的方法,如标题和按钮文本
希望这对别人有帮助