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) {
    }
  });

このコードはコンパイルされませんが、それを実装する可能な方法を示すだけです。

クラスに必要なコールバックが 1 つある場合は、事前にコールバック リスナーを作成し、それをReportCrashメソッドに渡すだけです。

于 2013-05-20T00:46:30.100 に答える