小编Gor*_*man的帖子

我在哪里可以看到Visual Studio 2012中未处理的std :: exception的what()消息?

有没有办法从未处理的异常中查看解释性字符串?我正在使用Visual Studio 2012 Express,似乎无法找到方法来查看它.

当我运行以下代码时:

#include <stdexcept>

int main(int argc, char* argv[])
{
    throw std::runtime_error("warp core breach");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在输出窗口中得到的是:

First-chance exception at 0x7652C41F in vstest.exe: Microsoft C++ exception: std::runtime_error at memory location 0x0015F6A4.
Unhandled exception at at 0x7652C41F in vstest.exe: Microsoft C++ exception: std::runtime_error at memory location 0x0015F6A4.
Run Code Online (Sandbox Code Playgroud)

我本来期望在那里打印"warp core breach"消息.我将调试 - >输出窗口 - >常规输出设置下的所有选项设置为开.

c++ debugging exception visual-studio-2012

16
推荐指数
1
解决办法
2642
查看次数

在foreach()迭代期间修改数组

我有一些关于在foreach()循环期间修改数组的问题.在下面的代码中,我遍历三个包含闭包/回调的数组并调用每个数组.我在迭代期间向每个数组的末尾附加一个闭包,但是有时foreach()似乎没有认识到数组已经改变了大小,因此附加的闭包不会被调用.

class Foo
{
    private $a1 = array();
    private $a2 = array();

    public function f()
    {
        echo '<pre style="font-size: 20px;">';
        echo 'PHP: ' . phpversion() . '<br><br>';

        $this->a1[] = function() { echo 'a1 '; };
        $this->a1[] = array($this, 'g');
        foreach ($this->a1 as &$v)
        {
            // The callback added in g() never gets called.
            call_user_func($v);
            //echo 'count(v) = ' . count($v) . ' ';
        }

        echo '<br>';

        // The same thing works fine with a for() loop.
        $this->a2[] = function() { …
Run Code Online (Sandbox Code Playgroud)

php arrays foreach

10
推荐指数
1
解决办法
1180
查看次数

标签 统计

arrays ×1

c++ ×1

debugging ×1

exception ×1

foreach ×1

php ×1

visual-studio-2012 ×1