加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

巧用例外处理多返回值问题

发布时间:2020-12-16 22:33:39 所属栏目:大数据 来源:网络整理
导读:写程序的时候,我们很有可能碰到这样一种情况,就是写一个方法时,它需要返回多个结果。就拿学生上机为例吧。当学生上机时,我们输入学生卡号,然后调用“上机”这个函数,而上机这个函数就需要有多个返回值,比如:输入的卡号不存在、输入的卡号正在上机、

写程序的时候,我们很有可能碰到这样一种情况,就是写一个方法时,它需要返回多个结果。就拿学生上机为例吧。当学生上机时,我们输入学生卡号,然后调用“上机”这个函数,而上机这个函数就需要有多个返回值,比如:输入的卡号不存在、输入的卡号正在上机、输入的卡号余额不足、上机成功等等,那么我们该如何处理这种情况呢?

以前我处理这种情况是通过返回一个int类型的变量来实现的,具体实现过程如下:


上机函数部分:

IF 卡号不存在 THEN

返回 0

ELSEIF 卡号正在上机 THEN

返回 1

ELSEIF 卡号余额不足 THEN

返回 2

ELSEIF 上机成功 THEN

返回 3

………………

ENDIF

调用该上机函数,并根据结果给用户提示,实现过程如下:

IF 返回 0 THEN

提示用户:卡号不存在

ELSEIF 返回 1THEN

提示用户:卡号正在上机

ELSEIF 返回 2 THEN

提示用户:卡号余额不足

ELSEIF 返回 3 THEN

提示用户:上机成功

………………

ENDIF

这样虽然可以实现功能,但是总感觉不是很好,毕竟返回的值比较多,而且必须知道返回的值都代表什么,这样就给我们带来了好多麻烦。那么有没有更好的实现办法呢?

下面我给大家介绍一下如何用例外处理这样情况:

上机函数部分(下面里用到的是VB.Net里的一些知识):

If 没有该卡号的信息 Then

Throw NewApplicationException("该卡还没有注册")

End If

If 学生正在上机 Then

Throw NewApplicationException("该卡号正在上机")

End If

If 学生余额小于设置的最少金额Then

Throw NewApplicationException("该卡金额不足,请充值")

End If

调用函数部分:

Try

调用上机函数

Catch ex AS Exception

MsgBox(ex.Message) 显示给用户具体的错误

End Try

这样写的好处就是不用再判断具体的情况,所有的情况都通过错误处理程序体现给用户了,自我感觉方便了不少。

PS:用例外虽然解决了这个问题,但是总感觉好像有点不妥,毕竟是用错误处理解决的。一旦跟“错误”有了关系,总让人有种不爽的感觉,但本人又说不出到底有什么不好,还望大家多多指教。当然,如果您有什么好的实现方法,可以留下和大家分享一下!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读