4

次のようなコードがあります。これはメッセージを表示するのに問題なく動作しますが、スタック トレースを取得する方法がわかりません。

try {
    throw new RuntimeException("This is bad stuff!");
} catch (Exception e ) {
    mainForm.append("Exception: " + e.getMessage());
}

e.printStackTrace() を呼び出すと、見つからない場所に送信されます。

4

4 に答える 4

4

この記事を参照してください:http: //lwuit.blogspot.com/2008/12/redirecting-output-on-s60-devices.html

System.setErr(PrintWriter)またはThread.getStackTrace()がないのは残念です

この問題の(一般的な)解決策はないと思います

于 2008-12-02T16:47:14.077 に答える
1

いいえ、できません。スタック トレースは常に System.err に出力され、CLDC で System.err を別の場所にリダイレクトする方法はありません。

于 2008-12-13T11:35:00.880 に答える
1

CLDC 1.1 でさえ、これは存在しません。Sun が将来のバージョンでエラーのリダイレクトとアウト ストリームを含むことを願っています。ロギング/デバッグには非常に重要です。

于 2009-01-31T06:45:18.203 に答える
0

CLDC でも適切なスタック トレースをログに記録するために使用できるツールを作成しました。http://jarrut.sourceforge.netで確認してください。これはまだ非常に新しく、荒削りな部分があるかもしれませんが、私にとってはうまく機能し、これなしで MIDlet を開発することはもう想像できませんでした。それを使用する最良の方法は、microlog と組み合わせることです。

于 2010-07-06T14:13:49.880 に答える