[解決済み] エラーの修正 未報告の例外 InterruptedException
2022-02-16 22:41:03
質問
私はJavaの初心者です。Javaプログラムを待たせる方法を検索したところ
Thread.sleep()
メソッドを使用します。しかし、これを実行するとエラーになります。
error: 未報告の例外 InterruptedException; キャッチするか、スローするように宣言しなければなりません。
を追加して修正しました。
throws InterruptedException
をメソッド宣言に追加したところ、動作するようになりました。
しかし、そのメソッドを呼び出すと、またエラーが発生しました。throwとcatchブロックを使えと言われますが、まだやり方がよくわかりません。誰か助けてくれませんか?
とりあえず、Draw.javaのコード(sleep()メソッド付き)。
package graphics.utilities;
public class Draw {
public static void DS(int[] c)
throws InterruptedException {
\\ .. Drawing Algorithms
Thread.sleep(2000);
\\ .. More Drawing Algorithms
}
}
そしてSquare.javaで(DS()を呼び出す)。
package graphics.shapes;
import graphics.utilities.*;
public class Square implements Graphics {
int x1,y1,s;
public Square(int x1,int y1,int s) {
this.x1 = x1;
this.y1 = y1;
this.s = s;
}
public void GC() {
System.out.printf("Square Coordinates:%n Start Point:%n x: %d%n y: %d%n Height/Width: %d%n%n" , this.x1,this.y1,this.s);
}
public void D() {
int x2 = x1 + s;
int y2 = y1;
int x3 = x1 + s;
int y3 = y1 + s;
int x4 = x1;
int y4 = y1 + s;
int[] c = {x1,y1,x2,y2,x3,y3,x4,y4};
Draw.DS(c);
}
}
ありがとうございます。
解決方法は?
この例では、例外の受け渡しをコールチェーン上で行う方法を示しています(メソッドのコールチェーン上)。このために、あなたのメソッド宣言はthrows InterruptedExceptionを含んでいます。
別の方法として 発生したメソッドで例外を処理する を追加してください。
try
{
Thread.sleep(2000);
}
catch(InterruptedException e)
{
// this part is executed when an exception (in this example InterruptedException) occurs
}
を追加した後
try {} catch() {}
ブロックを作成します。
throws InterruptedException"を削除しました。
をメソッド DS から削除します。
で他の行を囲むことができます。
try {} catch() {}
ブロックを作成します。について読む
Java の例外
.
関連
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み】"実引数リストと形式引数リストの長さが異なる"
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] java.lang.OutOfMemoryError "に対処する。PermGen space "エラーに対処する
-
[解決済み] Pythonで例外を表示するには?
-
[解決済み] Pythonの関数が例外を投げるかどうかをテストするにはどうすればよいですか?
-
[解決済み] pythonの例外メッセージのキャプチャ
-
[解決済み】プログラムを停止/終了させることなく、完全な例外トレースバックをキャッチして表示する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】Javaの".class期待値"
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み】Javaの".class expected "について
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)