
C++的链表类中如果链表为空 怎样用异常处理(try catch)使其在运行时显示出来?
例如建立一个病人的链表类,当此为一个空链表时,在定义完整的情况下,标示了if(p==NULL)时,如何用异常(trycatch)处理让它在运行过程中显示“无病人信息”?...
例如建立一个病人的链表类,当此为一个空链表时,在定义完整的情况下,标示了if(p==NULL)时,如何用异常(try catch)处理让它在运行过程中显示“无病人信息”?
展开
3个回答
展开全部
异常不是这样用的,一般抛出异常都是在程序出现重大错误或者出现不正常状态的时候抛出,比如说连接中断,访问越界,一般出现这种情况要么自动恢复,要么程序终止。
滥用异常会让程序效率下降,所以异常都尽量少用,像这种链表为空的情况都是正常状态,直接判断就行了。
非要加的话
try
{
if(p==NULL)
throw yourException;
}
catch (yourException &e)
{
ceer<<e.what()<<endl;
}
更多追问追答
追问
我试过让它直接返回上一级菜单 但是程序会断 要不就是本级菜单重复出现,跳不回去 ,所以才想着能不能用异常来标示,请问,这个问题可能是什么情况
追答
没代码没办法分析,一般这种涉及多个菜单的都是循环设计得不恰当。
展开全部
这个不用try catch,你的代码本身就处理了这个问题,他不是一个异常,而是程序的一个功能,你判断(p==NULL)的时候就输出“无病人信息”不就好了
追问
就是输不出来,程序会直接终止
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用return就能处理了
追问
....现在是逼着实现不用return的处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询