草庐IT

uncaught_exception

全部标签

C++ STL Containers 无一异常(exception)都无法使用,我们能做些什么呢?

假定的C++精神是“所用,付费”。但是,由于异常及其在STL中的广泛使用,这可能会让人非常沮丧。在任何人说“打开异常”之前,我们必须生活的编程环境并不那么慷慨。我是内核编程,其中执行环境不提供足够的C++运行时来展开堆栈等。当STL容器无法为其底层后备存储重新分配存储空间时,它们将引发分配失败异常。当环境中未启用异常时,程序将相当神秘地崩溃:我已经看到实现直接中止,或者只是假设分配有效,即使它没有。我遇到的许多CADT库通过返回错误代码或将错误作为输出参数来预先处理此问题。处理这个问题的“最佳”C++方法是什么?澄清我不想使用标准库,我不能。我不是在问“我怎么做不能做的事”。我在问:“

c++ - Arduino C++ 代码 : can you use virtual functions and exceptions?

跟进thiscomment来自问题Writingfirmware:assemblyorhighlevel?:为Arduino编译C++代码时平台,可以使用虚函数、异常等吗?或者您想(必须)使用C++的一个子集(如thecomment中所述)?为Arduino平台编程时还有其他注意事项吗? 最佳答案 Arduino环境使用GCC工具链的AVR版本。代码编译为C++,因此您可以使用类。虚拟功能是可能的;vtables将存储在.data部分并具有正确的地址。事实上,Print基类使用虚函数来使各种“打印”方法适应不同的输出类型。由于代码空

c++ - std::exception 和 "..."之间的区别

A:catch(...)B:catch(std::exception&e)问题是A可以捕获而B不能。为什么在C++中没有引入可以捕获任何东西的通用根异常---添加对不起,我应该说我理解在C++中你可以抛出任何类型,如int,但除此之外,还能抛出什么?我的问题是我试图从代码中找出什么异常,可以被A捕获但不能被B捕获。这个异常绝对不是像“int”这样的类型。它必须是系统异常或内存违规之类的事情。我只是想知道那可能是什么。 最佳答案 catch(...)是所谓的“catchall”block。它将捕获任何C++异常。catch(std::

c++ - 为什么 Alexandrescu 不能使用 std::uncaught_exception() 在 ScopeGuard11 中实现 SCOPE_FAIL?

这个问题在这里已经有了答案:Scope(failure)inC++11?(2个回答)关闭9年前。毫无疑问,很多人都熟悉Alexandrescus先生的ScopeGuard模板(现在是Loki的一部分)和这里介绍的新版本ScopeGuard11:http://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2012-Andrei-Alexandrescu-Systematic-Error-Handling-in-C这里有来源:https://gist.github.com/KindDragon/4650442在2012年及以后的c++演讲中

c++ - 名为 'exception' 的命名空间导致编译问题

我有一个名为“异常”的命名空间的问题让我们考虑以下示例标题:#includenamespaceexception{structMyException:publicstd::exception{};}structAnotherException:publicexception::MyException{AnotherException():exception::MyException(){}};此header无法编译并出现以下错误:namespacetest.hpp:Inconstructor'AnotherException::AnotherException()':namespace

c++ - 通过引用捕获 std::exception?

我有一个愚蠢的问题。我读了这篇关于std::exceptionhttp://www.cplusplus.com/doc/tutorial/exceptions/的文章在catch(exception&e)上,它说:Wehaveplacedahandlerthatcatchesexceptionobjectsbyreference(noticetheampersand&afterthetype),thereforethiscatchesalsoclassesderivedfromexception,likeourmyexobjectofclassmyexception.这是否意味着使用“

c++ - 从 std::exception 的 `what` 返回一个动态字符串

此时我确信我应该为我所有的异常抛出需求创建std::exception的子类。现在我正在研究如何覆盖what方法。我所面临的情况,如果字符串what返回是动态的,那将非常方便。例如,有些代码会解析XML文件,在错误消息中添加位置或行号对我很有用。我正在尝试关注BoostExceptionhandlingguidelines.我想知道的:what返回一个constchar*,这意味着任何捕手都可能不会释放字符串。所以我需要其他地方来存储结果,但那会在哪里呢?(我需要线程安全。)what在其签名中也包含throw()。虽然我可以防止我的what抛出任何东西,但在我看来,这种方法确实不适合任

javascript - Uncaught Error : define cannot be used indirect

我正在使用webpack和babel在我正在制作的nodeexpressReact应用程序中转换我的es6/jsx文件。在我包含google电子表格npm模块并尝试将其导入我的项目之前,一切都很好。我收到错误UncaughtError:define不能间接使用,但导入的模块内没有define语句。当webpack打包我的文件时,这个错误只显示在浏览器中,而不是我的控制台中,并且完全停止在页面上呈现任何内容。我认为这与AMD/Commonjs有关,但我太缺乏经验,无法确定,或者如果是这种情况该怎么办。任何帮助将不胜感激 最佳答案 只是

javascript - 使用 Jasmine/Node : Uncaught type error "Cannot set property of ' mock' undefined 测试 Angular

我正在尝试创建“Angular.jsinAction”中描述的Jasmine单元测试。该应用程序运行正常,但在尝试运行我的测试时,我在node.js命令提示符中不断收到此错误。我的配置:module.exports=function(config){config.set({//basepath,thatwillbeusedtoresolvefilesandexcludebasePath:'',//frameworkstouseframeworks:['jasmine'],//listoffiles/patternstoloadinthebrowserfiles:['javascript

javascript - 如何避免 Uncaught ReferenceError

我的javascript文件中有以下模块导出,以便我可以从基于node.js的build设置(grunt、require..)访问它。....if(module&&module.exports){module.exports=m;}当我在浏览器中使用相同的文件时,它会报错UncaughtReferenceError:moduleisnotdefinedconst.js:49(anonymousfunction)我不使用Node作为后端。我怎样才能避免这个错误?也就是说,我需要导出m以便在构建期间require它(基于Node),但在浏览器中独立工作。为什么浏览器不将变量模块视为未定义而