黑马程序员技术交流社区
标题:
关于异常的问题
[打印本页]
作者:
郭军亮
时间:
2013-5-13 11:04
标题:
关于异常的问题
本帖最后由 郭军亮 于 2013-5-13 16:52 编辑
public static void main(String[] args){
// TODO Auto-generated method stub
rectal rec;
try {
rec = new rectal(-2,6);
} catch (novalueexception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(
rec
.getArea());
//为什么这个地方会报错,但是把它放到try{}内后就正常了
System.out.println("over");
作者:
吴文彬
时间:
2013-5-13 11:06
System.out.println(rec.getArea()); 说明这个语句可能会产生异常。所以放在try里面就正常了。
楼主最好把rectal 这个类的代码贴下。
作者:
飞鸟青崖
时间:
2013-5-13 12:28
本帖最后由 飞鸟青崖 于 2013-5-13 12:50 编辑
如果你的rectal没有定义错的话,这里就是因为你没有对rec进行初始化。
只需要把rec赋值就可以了。
因为在try代码块中, rec = new rectal(-2,6);可能执行不了(比如抛出异常),那么这个时候rec就没有指向,无法调用getArea()方法。
public static void main(String[] args)
{
rectal rec = null;[color=Red]//进行了初始化,一般赋值成null就行了。
try
{
rec = new rectal(-2,6);
}
catch (novalueexception )
{
e.printStackTrace();
}
System.out.println(rec.getArea());//
还有一点忘了说了,如果 rec = new rectal(-2,6); 真的没有执行,这里还会抛出一个空指针异常。记得处理。
System.out.println("over");
}
复制代码
作者:
郭军亮
时间:
2013-5-13 16:52
哦 这样啊 懂了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2