可恢复异常

匿名

我只是在问一个一般性的问题,当我在一个图书馆项目中工作时出于好奇而产生的问题,在该项目中,另一种方法会抛出异常返回值,但我想将该异常转换为返回值。我使用多个try catch块解决了该问题,但只是想知道在C ++中是否有一种方法可以在引发异常后恢复。

詹姆斯·坎泽

我不确定您想要什么。将异常转换为返回代码不会在异常之后恢复。C ++委员会考虑过恢复,但是尚不清楚这意味着什么。考虑:

int
someFunction()
{
    // ...
    if ( someCondition ) {
        throw SomeException();
    }
    assert( !someCondition );
    // ...
}

在C ++中,assert永远不会触发(并且通常不会写它,因为ifthrow会明确声明所声明的条件在此之后是有效的)。如果您可以恢复该异常,assert则将(或至少可能)触发该异常您将失去重要的代码验证手段。

也有使用其他语言使用过它的人报告说,它实际上并不能很好地工作,并且在他们开始使用恢复的每种情况下,他们都不得不更改代码以免以后使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不可恢复的崩溃

来自分类Dev

为什么ZeroDivide可恢复?

来自分类Dev

YouTube API3.0 videos.insert(上传)-“无法启动可恢复的上传”异常

来自分类Dev

调用SKRestoreCompletedTransactions可恢复所有交易

来自分类Dev

更改内容后可恢复光标位置

来自分类Dev

如何调试频繁的不可恢复的冻结?

来自分类Dev

如何调试频繁的不可恢复的冻结?

来自分类Dev

Linux文件系统的可恢复性

来自分类Dev

活动娱乐和不可恢复的操作

来自分类Dev

具有内部隔离Redux存储的可恢复组件

来自分类Dev

可恢复的Azure Web作业(不要从队列中删除)

来自分类Dev

有不可恢复的错误,必须首先更正

来自分类Dev

撤消(ctrl + z)功能可恢复隐藏的div

来自分类Dev

按下按键即可恢复应用程序窗口

来自分类Dev

可暂停和可恢复的异步任务队列

来自分类Dev

使用PHP API可恢复上传到Google Cloud Storage

来自分类Dev

加密的deja-dup备份是否可恢复?

来自分类Dev

进行可恢复上传时出现CURL问题

来自分类Dev

如何从可恢复的NSWindow中排除某些AppKit视图?

来自分类Dev

加密的deja-dup备份是否可恢复?

来自分类Dev

硬盘URE(不可恢复的读取错误)的粒度是多少?

来自分类Dev

是否可以通过QNetworkAccessManager检测可恢复的FTP链接?

来自分类Dev

scala:遇到不可恢复的循环解析导入

来自分类Dev

可恢复的Azure Web作业(不要从队列中删除)

来自分类Dev

Android可恢复上传到Google云端硬盘

来自分类Dev

可暂停和可恢复的异步任务队列

来自分类Dev

按下按键即可恢复应用程序窗口

来自分类Dev

可恢复播放的剧本(例如,使用site.retry)?

来自分类Dev

可恢复上传的Google Cloud Storage丢失文件属性

Related 相关文章

热门标签

归档