問題タブ [invocationtargetexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - InvocationTargetException.getCause() はいつ null ですか?
javadocsに従って、null にInvocationTargetException.getCause()
することができます。
この例外の原因 (スローされたターゲット例外。null の場合もあります) を返します。
ただし、ドキュメントには、既存の例外をラップすることも記載されています。
InvocationTargetException は、呼び出されたメソッドまたはコンストラクターによってスローされた例外をラップするチェック済み例外です。
だから私にInvocationTargetException.getCause()
は決してそうではないように思えますnull
。
何か不足していますか?
アップデート
はい、私は何かを逃しました - のデフォルトのコンストラクターはnullになるInvocationTargetException
でしょう。getCause()
私が今抱えている問題は、なぜこのクラスにデフォルトのコンストラクターを提供するのかということです。null の原因で例外をスローする必要があるユースケースはありますか?
java - Java JSON オブジェクトが見つかりません
JSONとJavaで問題が発生しています。データ構造をJSONにエクスポートしてファイルに保存する機能があります。しかし、逆のことをしてデータ構造を Java にインポートしようとすると、エラーが発生し、その出力は次のようになります。
そのエラーから、ノード内に文字列 'nodeID' が見つからないことがわかりますが、JSON 出力には次のように表示されます。
JSON コードは、ネットワーク内に含まれるノードの配列であり、各ノード オブジェクトには String nodeID、3 つの Float 変数、次に atom と呼ばれるオブジェクトが含まれます。このアトムには、float の 2 つの文字列と、linkTo および linkFrom と呼ばれる 2 つの配列が含まれます。これらには、リンクを表すオブジェクトが含まれます (atomID と delay、string と float を尊重)。
ネットワークから各ノードをロードする Java コードは次のようになります。
簡単なものが欠けているだけだと思いますが、これを微調整しようとして1週間近く費やしましたが、どこにも行きません!
for ループ内の println(node) ステートメントがノードを正確に出力するため、ノードが適切にロードされていることがわかります。動作していないように見えるノード ID を取得しようとしているだけです。順序を変更して x または y float を取得しようとしても、エラーが発生します。
ありがとう。
java - Java - List を ArrayList にキャストするときの InvocationTargetException
クラスが次のように定義されているとします。
実行しようとすると、次の例外がスローされます。
そして、私はその理由を見ていません。私はそれを正しくキャストしませんでしたか?
java - Java リフレクション: メソッドの戻りパラメータの型を取得する
はい、このトピックに関する記事がたくさんあることは知っていますが、それほど単純ではありません。
メソッドに引数を一般的に渡し、その後値を取得するために使用されるラッパークラスがあります。このラッパー クラス ( と呼ばれるIDVariant
) には、格納されている変数の主な型を示す既定の型があります。
したがって、私は持つことができます:
int
などですが、インスタンスの作成に使用されたパラメーターのタイプに従って、デフォルトのタイプは になります。
現在、このクラスは、前述のように、はるかに大きく複雑なクラスで一般的なプレースホルダーとして使用されています。クラスの上部構造を再帰的に解析し、この構造を XML で再作成するツールを作成する必要があります。明らかに、進むべき道はリフレクションであり、これまでのところ全体の構造を再現することに成功しています。唯一の問題は、IDVariant の既定の型を見つける方法が思いつかなかったので、XML ツリーの各変数の型が正しいことです。
私が試したことはget
、各クラスの各プロパティのメソッドを取得し、それを呼び出して、各 IDVariant の既定の型を確認することです。良いアイデアのように思えましたが、うまくいきません:InvocationTargetException
メソッドを呼び出すために作成したクラスのインスタンスに、実際にはデータが入力されていないという事実が原因であると思われます。それは私が与えることができた唯一の論理的な説明です.
誰かが何か考えを持っているなら、私は最も感謝しています! :)
以下は、サンプル コード フラグメントです。
注: 関数は実際に IDVariant 型の変数を返します。ソース コードを確認しました。ただし、そのコードは自動的に生成される外部ツールからのものであるため、変更できません。
前もって感謝します :)
編集:さて、外部ツールによって生成されたソースをよく見て、これが私が集めたものです:
私はサンプルメソッドを呼び出していますgetSomeValue
. メソッドが宣言されているクラスのソースでは、メソッドの宣言は次のとおりです。
したがって、おそらくスーパークラスに属する別のメソッドを内部的に呼び出そうとしているので、スーパークラスをインスタンス化していません。これが問題である可能性はありますか?はいの場合、回避策はありますか?
編集 2: 要求に応じて、ここに私が取得している例外のスタック トレースがあります:
android - 完了したアクティビティと低 KB のイメージで OutofMemoryError/InvocationTargetException を取得していますか?
基本的に、私のアプリはクラッシュし続けます。ただし、すべてのアクティビティには「finish();」があり、アクティビティを終了してメモリを解放する必要があります(少なくともそれは私の理解です)。同じように、私の画像は PNG 形式で保存されている場合でも数百 KB しかありません。
私のコードには、少なくとも Java パッケージ エクスプローラーですぐにエラーが発生することはありません。DDMS では、タイトルに記載されているエラーが表示されます。ここでの質問と回答に従って、プロジェクトの最も論理的な手順に従いましたが、うまくいきませんでした。これまでのところ、画像サイズ (ファイルサイズが小さい) を確認し、finish(); を追加しました。私の活動に。
基本的に、約 10 個のアクティビティを取得すると、クラッシュします。合計で約 60 のアクティビティがあり、それぞれに画像、画像ボタン、およびスクロール テキスト ビューがあります。一時停止して次のアクティビティに進む画像が画面に表示されることがあります。コードを投稿しますが、すぐに関連する、または少なくとも解析できるコードのページはありません。
AVDに関しては、SDカードメモリが少ないミッドレンジですが、ミッドレンジからハイレンジの実際のデバイスでも、アプリには同じ問題があります.
どんな助けでも大歓迎です!