我正在从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 块。
这里发生了什么?