自定义异常处理(Java实训)-JavierWu

发布于 2019-11-27  9 次阅读


自定义异常处理(Java实训)

实训目的:

了解和掌握Java的异常处理机制,利用自定义异常类处理程序中特有的异常。

实训要求:

自定义一个异常类NoThisSoundException和设计一个乐器(Instrument)的接口,接口中含有弹奏方法Play,通过定义不懂的乐器钢琴(Piano)、小提琴(Violin)来实现接口中的方法,进行相应的弹奏测试,要求完成以下内容:
(1)NoThisSoundException继承Exception类,类中有一个无参和一个接受String类型参数的构造方法,构造方法中使用super关键字调用父类的构造方法。
(2)play(int index)方法接受一个int类型的参数,表示播放歌曲的索引,当index>10时,play()方法用throw关键字抛出NoThisSoundException异常,创建异常对象时,调用有参的构造方法,传入“您播放的歌曲不存在”。
(3)在测试类中创建乐器类钢琴(Piano)、小提琴(Violin)的对象,并调用play()方法测试自定义的NoThisSoundException异常,使用try…catch语句捕获异常,调用NoThisSoundException的getMessage()方法打印出异常信息。

在这里插入图片描述

Instrument.java

package program3

public interface Instrument {
	void play(int index)throws NoThisSongException
}

> NoThisSongException.java
package program3

public class NoThisSongException extends Exception {
	public NoThisSongException() {
		super()
	}
	public NoThisSongException(String message) {
		super(message)
	}
}

PIano.java

package program3

public class Piano implements Instrument {

	public  void play(int index) throws NoThisSongException {
		// TODO Auto-generated method stub
		if(index<=10)
			System.out.println("现在播放的是第"+index+"首钢琴曲!")
		else
			throw new NoThisSongException("您播放的歌曲不存在!")
	}

}

Test.java

package program3

public class Test {

	public static void main(String[] args) throws NoThisSongException {
		// TODO Auto-generated method stub
		try {
			Instrument p=new Piano()
			Instrument v=new Violin()
			p.play(5)
		//	p.play(20);
			v.play(3)
			v.play(11)
		}catch(NoThisSongException e) {
			System.out.println(e.getMessage())
		}
		
	}

}

Vionlin.java

package program3

public class Violin implements Instrument {

	@Override
	public void play(int index) throws NoThisSongException {
		// TODO Auto-generated method stub
		if(index<=10)
			System.out.println("现在播放的是第"+index+"首小提琴曲!")
		else
			throw new NoThisSongException("您播放的歌曲不存在!")
	}

}

结果显示:
在这里插入图片描述

届ける言葉を今は育ててる
最后更新于 2019-11-27