黑马程序员技术交流社区
标题:
异常的问题
[打印本页]
作者:
lucy198921
时间:
2013-3-31 11:47
标题:
异常的问题
本帖最后由 lucy198921 于 2013-4-2 18:45 编辑
class RuntimeExceptionDemo
{
public int getArea(int width,int heigth)
{
if (width<=0||heigth<=0)
{
throw new RuntimeException("数据非法,矩形不存在");
}
return width*heigth;
}
public int getArea1(int width,int heigth)
{
if (width<=0||heigth<=0)
{
throw new RuntimeException("数据非法,矩形不存在");
}
return width*heigth;
}
}
class ExceptionDemo2
{
public static void main(String[] args)
{
RuntimeExceptionDemo re=new RuntimeExceptionDemo();
int area=0;
int area1=0;
area=re.getArea(2,-8);
area1=re.getArea1(2,8);
boolean b= compare(area,area1);
System.out.println("b="+b);
}
public static boolean compare(int area, int area1)
{
return area==area1;
}
}
复制代码
作者:
HM何伟
时间:
2013-3-31 12:03
你抛的是RuntimeException,这个异常,是在运行时期抛出的,不需要在函数上声明,也不需要处理
运行时期异常,一旦出现,程序停止运行,修改源代码.RuntimeException的子类也具有这样的特性.
所以这个程序的矩形的长和宽都不小于0,否则程序必将停上.
可以自定义一个,当出现小于0时的异常.
作者:
陈丽莉
时间:
2013-3-31 18:49
若还有问题,请继续追问~ 没有的话,请将帖子分类改成【已解决】~
作者:
夏凡
时间:
2013-4-2 08:27
首先,你的
ExceptionDemo这个类代码是没有问题的
在ExceptionDemo2 中需要声明一下异常吧
其次,你的只有发现异常机制也就是
Exceptio
nDemo中的那些throw语句
但是在ExceptionDemo2里面并没有处理语句,处理方式有两种
要么用throws抛出让虚拟机用默认的方式解决,要么自定义解决用try{}catch{
Exception e
}
用try{}catch{
Exception e
}要把可能存在异常的语句放在try里面
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2