0

私はすでに私のアプリでこの例外を持っていますが、ここに私の例外をカスタムダイアログを作成したいと思います:

10-11 01:41:49.420: E/AACPlayer(649): playAsync():
10-11 01:41:49.420: E/AACPlayer(649): java.lang.RuntimeException: 
Cannot start native decoder

そして、このjava.lang.RuntimeExceptionを表示する代わりに:ネイティブデコーダーを人に開始することはできません。エラーのように表示してください。ストリームがダウンしています。

私はこのようなことを試みました:

 try
        {
            aacPlayer.playAsync( getUrl());
        }
        catch(Exception e)
        {
            AlertDialog alertDialog = new AlertDialog.Builder(Activity.this).create();
            alertDialog.setTitle("Error in radio");
            alertDialog.setMessage("out of service");
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int which) {
                  // here you can add functions
               }
            });
            alertDialog.setIcon(R.drawable.icon);
            alertDialog.show();
        }

しかし、運がなければ、カスタムダイアログが表示されません。これについて私に何を勧めることができますか?

どうもありがとう。

4

2 に答える 2

1

それを見てください、多分それはあなたを助けることができます;)

'java.lang.RuntimeException'または例外のスローとキャッチをキャッチする方法

于 2012-10-11T07:04:30.347 に答える
1

すでにポップアップしているダイアログにカスタムメッセージがある場合、それは機能しますか?はいの場合、キャッチブロックでこれを実行することをお勧めします。

CustomException ce = new CustomException();
throw ce;

そして、このようなカスタム例外があります

public static class CustomException extends Exception {

    String errorMsg; // this is the string that the your alert box will show

    public CustomException() {
        super();
        errorMsg = "YOU DID THIS ALL"; // set string here for your custom message
    }

    public CustomException(String err) { // set custom string in the constructor itself
        super(err);
        errorMsg = err;
    }

    public String getError() {
        return errorMsg;
    }

    public String toString() {
        return errorMsg;
    }
}
于 2012-10-11T07:10:22.590 に答える