猿问

关于Java的异常处理

import javax.sound.midi.*;
public class Main {
     
    public void play()
    {
        try{
        Sequencer newSequencer=MidiSystem.getSequencer();
        System.out.println("We have got a sequencer");
        }
        catch(MidiUnavailableException ex){
        System.out.println("Bummer!");
        }
    }
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
     Main test=new Main();
     test.play();
    }
 
}

没有添加try/catch的时候“Sequencer newSequencer=MidiSystem.getSequencer();”这行代码出现了异常,添加以后输出结果不应该是“Bummer!”吗?为什么是“We have got a sequencer”?

不思jo
浏览 1799回答 3
3回答

Caballarii

MidiSystem.getSequencer这个方法throw了一个Exception,那么在调用的时候就必须try/catch,这是你必须预防的情况,并不是说一定会出现这个异常

慕粉3681430

异常被捕获啦,就可以正常运行了.这是受检异常,必须先捕获,然后才能正常编译.而非受检异常是运行时异常,不需要先捕获.
随时随地看视频慕课网APP

相关分类

Java
我要回答