您的位置:首页 > 编程语言 > Java开发

Java异常1

2015-12-20 16:59 344 查看
Java异常机制1之认识异常与处理
首先介绍一下什么是异常:在写程序时,当程序执行到一半时发生错误。有需要处理和不需要处理的,比如说线程睡眠时发生的异常是需要处理的。接下来来介绍一下处理异常和捕获异常的两种方式:

第一种,直接在方法上抛出异常

先编写如下接口

@SuppressWarnings("all")
public interface ExceptionDemo extends BaseUtils
{
/**
* 数学计算异常,如除数为0则计算结果为无穷大,在程序中并没有无穷大,所以抛出异常
*/
class MathException extends Exception implements BaseUtils
{
public MathException()
{
info("数字计算异常");
}
}

/**
* 检查对象是否为空
*
* @param object
* @return
*/
static Integer checkObj(Object... object)
{
return (object != null) ? 1 : 0;
}

/**
* 对两数进行相除
*
* @param numA
* @param numB
* @return
* @throws MathException
* @throws ObjectNotFoundException
*/
static Integer calcNumbers(Integer numA, Integer numB)
throws MathException, ObjectNotFoundException
{
int result = 0;

if (checkObj(numA, numB) == 1)
{
if (numA == 0 || numB == 0)
{
throw new MathException();
}

result = numA / numB;
}
else
{
throw new ObjectNotFoundException("数字找不到");
}

return result;
}
}


测试类方法:
@Test
public void calcTest1() throws Exception
{
info(calcNumbers(100, 20));
}

运行结果为

org.eclipse.java8.tools.BaseUtils.info(BaseUtils.java:37)
5===============

org.eclipse.java8.tools.BaseUtils.info(BaseUtils.java:37)
程序运行时间为14毫秒===============


==这是第一种处理异常的方式,接下来介绍第二种

@Test
public void calcTest2()
{
try
{
info(calcNumbers(100, 20));
}
catch (MathException e)
{
e.printStackTrace();
}
catch (ObjectNotFoundException e)
{
e.printStackTrace();
}
}

这就是处理异常和抛异常的方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: