黑马程序员技术交流社区
标题:
一点异常的小问题
[打印本页]
作者:
杨雪松
时间:
2012-10-28 21:48
标题:
一点异常的小问题
本帖最后由 杨雪松 于 2012-10-30 10:59 编辑
{:soso__4712760984652999281_4:}现在颈椎变得不舒服了
是不是颈椎病的前兆啊
我还年轻啊元芳~
做了个异常练习
package t10;
/*
有一个圆形和长方形。
都可以获取面积。对于面积如果出现非法的数值,视为是获取面积出现问题。
问题通过异常来表示。
现有对这个程序进行基本设计。
*
*/
class wrong extends Exception
{
wrong(String msg)
{
super(msg);
}
}
interface mianji
{
void method() throws wrong;
}
class zheng implements mianji
{
private int chang,kuan;
zheng(int chang,int kuan)
{
this.chang=chang;
this.kuan=kuan;
}
public void method() throws wrong
{
if(chang<=0||kuan<=0)
throw new wrong("数据异常");
System.out.println(chang*kuan);
}
}
public class ExceptionTest {
public static void main(String[] args)
{
zheng z=new zheng(-2,3);//就是这一句啦;
try
{
z.method();
}
catch(wrong w)
{
System.out.println(w.toString());
}
System.out.println("over");
}
}
复制代码
毕老师在视频中讲到41行那句应该放在try的内部
可是刚才试了试放在里面外面结果都是一样的
这是为什么?
作者:
武庆东
时间:
2012-10-28 21:55
代码不够全~
作者:
王永荣
时间:
2012-10-28 23:45
那是因为你是在类方法里判断传入的数字是正负并抛出异常,当然只有调用类方法method()的时候才会有可能抛出异常。
把if(..) throw...这句放在构造函数里,并声明异常类,你再试试?
作者:
林志进
时间:
2012-10-29 12:00
是不是说的不是异常问题啊。 zheng z=new zheng(-2,3);把这句话声明在外面只是单纯为了把z这个变量放在栈内存中啊,
否则trycatch后如果程序再想调用这个try里面的z变量是访问不到的,说的是编程的习惯吧。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2