黑马程序员技术交流社区
标题:
自定义异常类和一般的函数调用有什么区别?
[打印本页]
作者:
何家旺
时间:
2013-1-26 00:01
标题:
自定义异常类和一般的函数调用有什么区别?
class FuShuException extends Exception
{
private int value;
FuShuException()
{
super();
}
FuShuException(String msg,int value)
{
super(msg);
this.value = value;
}
public int getValue()
{
return value;
}
}
class memo
{
int div(int a,int b)throws FuShuException
{
if(b<0)
throw new FuShuException("出现了除数是负数的情况------ / by fushu",b);
//手动通过throw关键字抛出一个自定义异常对象。
return a/b;
}
}
class jh
{
public static void main(String[] args)
{
memo d = new memo();
try
{
int x = d.div(4,2);
System.out.println("x="+x);
}
catch (FuShuException e)
{
System.out.println(e.toString());
System.out.println("错误的负数是:"+e.getValue());
}
System.out.println("over");
}
}
这个throw抛出和常规的return返回有什么区别吗?或者说这个throw可以用return返回调用吗?
作者:
冷延冰
时间:
2013-1-26 00:49
异常主要是程序运行出现不合法的操作或数据的时候抛出的错误,一般分为Error和Exception,Error直接不可操作处理,Exception可以对异常进行处理或抛出
return主要是程序运行返回的结果
作者:
贾文泽
时间:
2013-1-26 09:42
楼主的想法或许可以这样理解,当异常发生时,可以抛给当前函数的调用者,让调用者对异常进行处理,而一个函数中的return语句也是给这个函数的调用者返回一个资源,但是,所有的异常都属于throwable体系中,可抛性是这个体系独有的特点,抛出的异常可以用try/catch进行捕获处理,那如果用return返回异常对象那调用者应该怎么接收,无法有针对性的捕获便不能对异常做出针对性的处理,所以说,异常只能抛出,不能返回
作者:
何家旺
时间:
2013-1-26 10:01
IC-月辰 发表于 2013-1-26 09:42
楼主的想法或许可以这样理解,当异常发生时,可以抛给当前函数的调用者,让调用者对异常进行处理,而一个函 ...
直接调用异常里面的函数火车参数不行吗?异常类接收的不也是对应的函数或者参数吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2