私はAndroidに問題があります。私はデバイス上で開発し、例外をキャッチする問題があります。私はAsyncTaskでいくつかのコードを実行し、最終的にそれを単純化しています:try catch例外は常にnullを返します
try
{
if (true)
throw new Exception("ERROR");
}
catch (Exception e)
{
Log.e("e", "exception", e);
}
私の問題は「E」変数は常にnullであるということです。実際に何が起こっているのか分かりません。それは時にはうまくいくのですが、いつ言ってもらえません。私はちょうど戻って来てブーム、数分のためにコンピュータから起きる、それは動作します。数分コーディングをして、もう一度それはnullです...約1年前にSOに1つの質問がありましたが、答えは知られていません。たぶん誰かが何らかのアイデアを持っているだろう。
私はdebbugerがあるときにのみ発生した理由:(まだ任意の手掛かりを持っていない...それはそれの外とAsyncTaskとは何かを持って、私は例外を正しくcatchedしまったと思います私がデバイスからケーブルを取り出すと、実際にキャッチし、例外はもうnullではありません...
UIスレッドでAsyncTaskをインスタンス化していますか? UIスレッドでexecute(Params ...)を呼び出していますか? onPreExecute()、onPostExecute(Result)、doInBackground(Params ...)、onProgressUpdate(Progress ...)を手動で呼び出していますか? タスクを複数回コールしていますか? –
1つのインスタンス、on *メソッドへの手動呼び出しはありません。 UIスレッドでexecute(params)を呼び出して呼び出します。私はちょうどそのケースを渡すだろうと思う...事は他の人がそれを働かせるので、私は今VMのLinuxボックスhehで開発するために滞在します – mariozski
賢明な決定!それが携帯電話で動作している場合、問題ありません。 –