社区
C++ 语言
帖子详情
抛出异常和返回错误代码?
wvins
2005-06-23 10:55:49
什么时候该抛出异常呢?
抛出异常至少不方便回到抛出点吧,但返回错误代码却可以,抛出异常的优势在哪呢?
高人指点一下!
...全文
306
11
打赏
收藏
抛出异常和返回错误代码?
什么时候该抛出异常呢? 抛出异常至少不方便回到抛出点吧,但返回错误代码却可以,抛出异常的优势在哪呢? 高人指点一下!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wvins
2005-06-26
打赏
举报
回复
我想我有点钻牛角尖了。
学到了不少,不果最好的学习还是要以后在实践中多体会了。
3Q
haiwangstar
2005-06-25
打赏
举报
回复
异常的一个用处就是消除这样的代码:
if(!func1())
return;
{
if(!func2())
return;
if(!fund3())
{
}
}
变为:
try
{
func1();
func2();
func3();
...
}
catch(...)
{
}
Wolf0403
2005-06-25
打赏
举报
回复
如果能简洁优雅地处理错误就不必 exception 了:)
fanruinet
2005-06-24
打赏
举报
回复
多层函数调用的时候要通过返回值来报告错误是比较困难的
.NET Class Library中处理错误几乎全部是通过异常来进行的
sh5dragon5
2005-06-24
打赏
举报
回复
fancyf说的有道理。
异常可以传递,而且可以确保一些必要操作的执行。
WingForce
2005-06-24
打赏
举报
回复
其实,一般认为有异常处理机制,就不要用返回值
这样利于功能内聚
ryan_1223
2005-06-24
打赏
举报
回复
mark
wvins
2005-06-24
打赏
举报
回复
异常机制是C++中用于将错误报告与错误处理分离开的手段。
------------------------------------------------------------------
其实,一般认为有异常处理机制,就不要用返回值
这样利于功能内聚
-------------------------------------------------------------------
收获!
其实我是想知道什么时候该用异常,什么时候该用返回代码?
假设我实现一个类,重载了流操作符,要求按制定格式输入。
比如3/7
当输入错误如3,,7时,我们希望用户重新输入。
这时应该返回错误代码,而非抛出异常吧!
至少异常处理时,并不能回到抛出点吧,就算自己写的也不方便啊
bluedodo
2005-06-24
打赏
举报
回复
这些问题吃得不是很透,学习
何哀何欢
2005-06-23
打赏
举报
回复
你的意思是:
一个函数的设计者能够发现产生的错误,将错误报告给用户。
用户无法对函数中的错误进行检测,但可以得到这些错误信息,再进行处理。
这是返回值啊?
fanruinet
2005-06-23
打赏
举报
回复
异常机制是C++中用于将错误报告与错误处理分离开的手段。
一个类库/函数的设计者能够发现产生的错误,但他无法对这些错误进行处理;
类库的用户知道如何处理这些错误,但是无法对类库中的错误进行检测。
异常就是解决这个问题的手段。
建议58:用
抛出异常
代替
返回
错误代码
建议58:用
抛出异常
代替
返回
错误代码
CLR异常机制的优点: 正常控制流会被立即中止,无效值或状态不会在系统中继续传播。提供了统一的处理错误的方法。提供了在构造函数、操作符重载及属性中报告异常的遍历...
java为什么要
抛出异常
_java
抛出异常
是怎么回事?
一、Java异常的基础知识异常是程序中的一些错误,...如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。有些异常需要做处理,有些则不需要捕获处理,后面...
什么是异常?为什么要
抛出异常
?
文章目录 前言 1. 异常是什么? 1.1 概述:异常就是程序出现了不...3. 为什么要
抛出异常
?什么时候要
抛出异常
? 4. throws和throw的区别 前言 在我们刚开始学习java时候,总是会有一点点困惑。什么是异常?...
业务逻辑层到底该抛异常还是
返回
错误的状态码
抛出异常
可以让API层try catch 捕获异常,并且在发生问题时候,迅速定位到某行代码,异常链占用内存大,
返回
错误码,可以让API解析错误码,做某些操作,但是不利于定位服务端代码错误。 应用场景: 1)参数校验 ,...
Java声明和
抛出异常
:throws声明异常、throw
抛出异常
、throw和throws的区别
Java 中的异常处理除了包括捕获异常和处理异常之外,还包括声明异常和拋出异常,可以通过 throws 关键字在方法上声明该方法要拋出的异常,然后在方法内部通过 throw 拋出异常对象。本节详细介绍在 Java 中如何声明...
C++ 语言
64,631
社区成员
250,855
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章