私はHeadFirstから Java を読んでいます。例外処理に関する章を読み始めました。本の中には、私が自分のコンピューターで実行したコードがありました。
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 ブロックが実行されます。
ここで何が起きてるの?