C++的链表类中如果链表为空 怎样用异常处理(try catch)使其在运行时显示出来?

例如建立一个病人的链表类,当此为一个空链表时,在定义完整的情况下,标示了if(p==NULL)时,如何用异常(trycatch)处理让它在运行过程中显示“无病人信息”?... 例如建立一个病人的链表类,当此为一个空链表时,在定义完整的情况下,标示了if(p==NULL)时,如何用异常(try catch)处理让它在运行过程中显示“无病人信息”? 展开
 我来答
欢乐多Ek
2013-07-24 · TA获得超过478个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:448万
展开全部

异常不是这样用的,一般抛出异常都是在程序出现重大错误或者出现不正常状态的时候抛出,比如说连接中断,访问越界,一般出现这种情况要么自动恢复,要么程序终止。

滥用异常会让程序效率下降,所以异常都尽量少用,像这种链表为空的情况都是正常状态,直接判断就行了。

非要加的话

try
{
    if(p==NULL)
        throw  yourException;
}
catch (yourException &e)
{
    ceer<<e.what()<<endl;
}
更多追问追答
追问
我试过让它直接返回上一级菜单 但是程序会断 要不就是本级菜单重复出现,跳不回去 ,所以才想着能不能用异常来标示,请问,这个问题可能是什么情况
追答
没代码没办法分析,一般这种涉及多个菜单的都是循环设计得不恰当。
zero945493
2013-07-24 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:92
采纳率:100%
帮助的人:92.6万
展开全部
这个不用try catch,你的代码本身就处理了这个问题,他不是一个异常,而是程序的一个功能,你判断(p==NULL)的时候就输出“无病人信息”不就好了
追问
就是输不出来,程序会直接终止
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周生008
2013-07-24 · TA获得超过1222个赞
知道小有建树答主
回答量:1329
采纳率:0%
帮助的人:696万
展开全部
用return就能处理了
追问
....现在是逼着实现不用return的处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式