草庐IT

uncaught_exceptions

全部标签

android - 改造 2 : Catch connection timeout exception

我有以下设置:finalOkHttpClientokHttpClient=newOkHttpClient();okHttpClient.setReadTimeout(5,TimeUnit.SECONDS);okHttpClient.setConnectTimeout(5,TimeUnit.SECONDS);RestAdapter.Builderbuilder=newRestAdapter.Builder().setEndpoint(ROOT).setClient(newOkClient(okHttpClient)).setLogLevel(RestAdapter.LogLevel.FU

android.mk arm-linux-androideabi-g++ 异常和 __cxa_allocate_exception

我正在从源代码重建Android(以闪存到设备上,现在使用模拟器),尝试添加一个命令行工具。我已将我的源代码放在repo/exernal/...并编写了Android.mk。我得到以下未定义:__cxa_allocate_exception__cxa_begin_catch__cxa_end_catch__cxa_end_cleanup__cxa_free_exception__cxa_get_exception_ptr__cxa_rethrow__cxa_throw__gxx_personality_v0我在这里搜索了具有相同未定义的其他问题,但似乎无法找到适用于Android的解决

exception - C++中抛出异常后应该如何释放内存?

如果这个问题是重复的,我深表歉意-我搜索了一段时间,但我的Google-fu可能无法满足要求。我正在修改一个调用C库的C++程序。C库分配一堆内存(使用malloc()),C++程序使用它然后释放它。问题是C++程序可以在执行过程中抛出异常,导致分配的内存永远不会被释放。作为一个(相当做作的)示例:/*old_library.c*/char*allocate_lots(){char*mem=(char*)malloc(1024);returnmem;}/*my_prog.cpp*/voidmy_class::my_func(){char*mem=allocate_lots();bool

php - 未捕获的 MongoDB\Driver\Exception\ConnectionException : $or must be an array - PHP

我正在尝试使用MongoDB'sPHPdriver的$or运算符进行查询,但我收到以下错误:Fatalerror:UncaughtMongoDB\Driver\Exception\ConnectionException:$ormustbeanarrayin/path/to/file.php:83Stacktrace:#0/path/to/file.php(83):MongoDB\Driver\Manager->executeQuery('userAccou...',Object(MongoDB\Driver\Query))#1{main}thrownin/path/to/file.ph

php - 未捕获的 MongoDB\Driver\Exception\ConnectionException : $or must be an array - PHP

我正在尝试使用MongoDB'sPHPdriver的$or运算符进行查询,但我收到以下错误:Fatalerror:UncaughtMongoDB\Driver\Exception\ConnectionException:$ormustbeanarrayin/path/to/file.php:83Stacktrace:#0/path/to/file.php(83):MongoDB\Driver\Manager->executeQuery('userAccou...',Object(MongoDB\Driver\Query))#1{main}thrownin/path/to/file.ph

c++ - 我可以复制构造带有错误信息的 boost::exception 吗?

考虑以下使用boost异常类的代码:classexception:virtualpublicboost::exception{//...};templateclassexception_impl:virtualpublicstd::exception,publicExc{public:exception_impl(constExc&exc):Exc(exc){}virtualconstchar*what()constthrow(){return"blah";}};(实际上这段代码更复杂。例如,exception_impl仅从std::exception派生,如果后者还不是直接或间接基类

c++ - 当抛出异常的代码链接到使用 -fno-exceptions 编译的库时会发生什么?

具体来说,我想知道GCC对抛出异常的代码在链接到使用-fno-exceptions编译的代码时的行为做出了哪些保证(如果有的话)。GNUlibstdc++手册说以下here。Beforedetailingthelibrarysupportfor-fno-exceptions,firstapassingnoteonthethingslostwhenthisflagisused:itwillbreakexceptionstryingtopassthroughcodecompiledwith-fno-exceptionswhetherornotthatcodehasanytryorcatch

c++ - SWIG 包装库中 __cxa_allocate_exception 期间的段错误

在为Ruby开发一个SWIG封装的C++库时,我们在C++代码内的异常处理过程中遇到了无法解释的崩溃。我不确定重新创建问题的具体情况,但它首先发生在调用std::uncaught_exception期间,然后在一些代码更改后,移至__cxa_allocate_exception在异常构造期间。GDB和valgrind都没有提供任何有关崩溃原因的见解。我找到了几个类似问题的引用资料,包括:http://wiki.fifengine.de/Segfault_in_cxa_allocate_exceptionhttp://forums.fifengine.de/index.php?topic

c++ - 为什么 C++ 不使用 std::nested_exception 来允许从析构函数中抛出?

从析构函数抛出异常的主要问题是,在调用析构函数的那一刻,另一个异常可能“正在运行”(std::uncaught_exception()==true),所以它是在这种情况下该怎么做并不明显。用新异常“覆盖”旧异常将是处理这种情况的可能方法之一。但决定在这种情况下必须调用std::terminate(或另一个std::terminate_handler)。C++11通过std::nested_exception类引入了嵌套异常功能。此功能可用于解决上述问题。旧的(未捕获的)异常可以嵌套到新的异常中(反之亦然?),然后可以抛出嵌套的异常。但是这个想法没有被使用。std::terminate在

具有未定义行为的 C++ 代码,编译器生成 std​​::exception

我在C++中遇到了一个有趣的安全编码规则,它指出:Donotreenterafunctionduringtheinitializationofastaticvariabledeclaration.Ifafunctionisreenteredduringtheconstantinitializationofastaticobjectinsidethatfunction,thebehavioroftheprogramisundefined.Infiniterecursionisnotrequiredtotriggerundefinedbehavior,thefunctionneedonly