私は単純なJavaアプリケーションを開発中です。私は例外を投げることに問題があります。スレッド内でのエラー(例外)のスロー
実際には、例外はスレッドでスローする必要があります。したがって、これらの例外はどこにあるスレッドがありますか?
public void setVyplata(Otec otec) {
try {
otec.setVyplata(Integer.parseInt(textField1.getText()));
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(panel, "Nemozno vlozit string", "Error", JOptionPane.ERROR_MESSAGE);
otec.setVyplata(0);
textField1.setText("0");
}
}
public void setVyplata(Mama mama) {
try {
mama.setVyplata(Integer.parseInt(textField2.getText()));
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(panel, "Nemozno vlozit string", "Error", JOptionPane.ERROR_MESSAGE);
mama.setVyplata(0);
textField2.setText("0");
}
}
両方の例外が同時にスローされる可能性があります。
そして、それがないとき、これは私が得るものです:
私は、各メソッドの実行中のスレッドを持っています。そして、私の質問は、なぜプログラムがここで動作しなくなるのかということです。なぜなら、私はこれらのスレッドのひとつを別々に起動するからです。それは完全に動作します。両方のスレッドを開始すると2つのエラーウィンドウが表示されますが、空白のエラーウィンドウとプログラムが動作していないことがわかります。
ご質問はありますか? – Vijay
メソッドごとにスレッドが動作していて、このExceptionをどこかに取得する必要があるのか、それとも2つのダイアログがあるかどうかを知る必要があるということですか?または、両方のスレッドが実行されているときに、同じダイアログで両方のエラーを実際に捕まえたいと思っていますか? –
プログラムの実行を中断しないように例外をキャッチするので、そのメソッドの実行を中断する例外をキャッチすると、2つの異なるメソッドがあるため、2つの異なる例外がキャッチされます –