日期:2014-05-17  浏览次数:20983 次

关于想从某个子函数结束应用程序的问题。
我遇到这么一个问题,最上层方法select()执行某个业务逻辑,select()会中会调用GetValue()方法来帮助实现该业务.GetValue()方法会调用函数GetData(),GetData()会查询数据库的某个值,但是我希望如果查到数据库没有这个值,整个main的业务全部停止,弹出一个提示框即可。请问下,如何从某个子函数来结束上层的业务。

main()
{
       //这里是其他业务语句
       select();
       //这里其他业务语句
}

select()
{
//这里是其他业务语句
       GetValue();
       //这里其他业务语句
}

GetValue()
{
    getData()
}

------解决方案--------------------
自己做自己的事情,不要关心别人做什么

你改抛异常就抛异常呗,管上面怎么用这个异常。如果你觉着别人分不清是系统的异常还是逻辑的异常,那么了不起自己实现一个自定义异常出去。

其实我最近接触过很多别扭的设计,ref string lasterr 蹩脚的设计啊,完全不知道异常为何物。完全扰乱正常的逻辑代码、只因为博客园的“教授”们定义了一个所谓的异常性能如何如何滴条条框框,所以打死他都坚决不用异常,打死他都坚决stringBulid,打死他都坚决不反射,打死他都坚决不EF,打死他都坚决不webform,打死都坚决认为 --i++--是世界上最优美的代码