抛出异常意味着程序发生运行时错误,需要调试修改.为什么错 解释下

抛出异常意味着程序发生运行时错误,需要调试修改.为什么错 解释下,第1张

1.错:有可能是已捕获异常,如io异常,file相关异常;也有可能是内存溢出,不一定是代码问题。

2.对:throws是针对可能抛出异常,既然是可能,那当然就不一定会抛异常了。

3.对:throws与try

catch是处理异常的2种方式。

这段代码有几个小问题:

如图标记1:这里虽然没错,但是建议最好不要返回NULL, 还是返回head。因为如果之前链表不为空,只是在加一个节点失败返回NULL,我想你也是用head来接收返回值。那就会因为一个失败把原来的链表没有头了,不能用但是一直占用内存。

如图标记2:这里如果链表为空,你的head是怎么初始化的,如果是初始化为NULL,那这里必然会失败出现你所描述的问题。建议你初始化为NULL,然后这里判断如果为NULL就返回node。

如图标记3:这一句在这里没有什么意义。

如图标记4:这里我猜想你的Node和Data是类对象,因为看你后面引用了类函数。那这里就要注意了,最好用new来创建对象,使用malloc创建对象是不会调用构造函数的,而new是会调用构造函数创建对象。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12006138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存