本帖最后由 李会成 于 2013-2-4 15:17 编辑
- /*
- 有一个圆形和长方形
- 都可以获取面积,对于面积出现非法的数值,视为获取面积出现问题。
- 问题用异常表示。
- 设计此程序。
- */
- interface Shape
- {
- public void getArea();
- }
- class NoValueException extends RuntimeException//Exception
- {
- NoValueException(String msg)
- {
- super(msg);
- }
- }
- class Rec implements Shape
- {
- private int len,wid;
- Rec(int len,int wid)//throws NoValueException
- {
- if(len<=0 || wid<=0)
- throw new NoValueException("出现非法值");
- this.len = len;
- this.wid = wid;
- }
- public void getArea()
- {
- System.out.println(len*wid);
- }
- }
- class AreaFY
- {
- public static void main(String[] args)
- {
- //try
- //{
- Rec r = new Rec(-4,2);
- r.getArea();
- //}
- //catch (NoValueException e)
- //{
- // System.out.println(e.toString());
- //}
- System.out.println("over");
- }
- }
复制代码 双斜杠后面为继承Exception的程序。
为什么继承RuntimeException时就不需要try catch了呢?? |
|