私はJavaをからHeadFirstに読み込んでいます。私は例外処理についての章を読み始めました。私は自分のコンピュータで実行したコードが本にありました。try-catchが正しく機能しない
import javax.sound.midi.*;
class PlayMusic
{
public void play()
{
try{
Sequencer sq = MidiSystem.getSequencer();
System.out.println("We got a sequencer");
}
catch(MidiUnavailableException ex)
{
System.out.println("Bummer!");
ex.printStackTrace();
}
}
public static void main(String[] args)
{
PlayMusic pm = new PlayMusic();
pm.play();
}
}
try-catchブロックを削除すると、コンパイラはMidiUnavailableExceptionエラーを発生させます。私はその例外をキャッチするためにtry-catchを使いましたが、System.out.println("Bummer");
は実行されません。代わりに、tryブロックが実行されます。
ここで何が起こっているか
[このチュートリアル](https://docs.oracle.com/javase/tutorial/essential/exceptions/try.html)を読んだり読んだりすることをお勧めします。 'catch'ブロックはiffだけを実行します。フィッティング「例外」が発生します。例外をキャッチしなかったため、コンパイラは不平を言っていました(コンパイラは実行時に 'Exception'が発生したかどうかを知ることはできません)。 – Turing85