0

我正在研究需要将异常对象传递给函数的android库。该函数应处理所有异常类型,并能够返回异常中的所有可用数据,例如错误消息、堆栈跟踪和内部异常。

下面是我如何在 catch 语句中将异常变量传递给我的函数。

try
{
    txtText = (EditText)findViewById(R.id.txtTestEdit);
    String test = txtText.getText().toString();
}
catch (NullPointerException ex)
{
    CrashReporter.ReportCrash(ex);
}

下面是我需要提取异常类型的函数。

public static void ReportCrash(Object exceptionObject)
{
    String exceptionType = exceptionObject.getClass().getName();
    Log.d("Exception Type", exceptionType);     
}

在此示例中,异常类型是java.lang.NullPointerException。有没有办法可以将调用的对象返回exceptionObject给原始异常以提取堆栈跟踪内部异常和错误消息。

请注意,此函数应处理所有异常类型,而不仅仅是NullPointerException

感谢您的任何帮助,您可以提供

4

1 回答 1

0

做你想做的最好的方法是使用回调,这样每个方法都可以正确处理它,但是,如果没有回调,那么让它做一些默认行为。

这样您就可以在出现错误的方法中使用属性。

这个问题更多地涉及 Android 中的回调:

如何在 Android 中定义回调?

但是,基本上您创建一个以类似方式实现的接口:

CrashReporter.ReportCrash(ex, new ExceptionCallback() {
    public void myExceptionCallback(Exception e) {
    }
  });

这段代码不会编译,只是为了展示一种可能的实现方式。

如果您的类有一个需要的回调,那么您可以更早地创建回调侦听器,然后将其传递给ReportCrash方法。

于 2013-05-20T00:46:30.100 回答