D语言中无法捕获函数指针为null的异常

import std.stdio;
int main(string[] argv)
{
    try
    {
        auto f = delegate(){};
        f = null;
        f();
    }
    catch(Throwable e)
    {
        writeln(e.msg);
    }
    readln();
    return 0;
}

        在调试中,函数或委托的指针为null时,异常无法捕获,直接退出。只有在程序运行时才能捕获得到。

       以上问题需要打开VS异常设置:

image

posted @ 2016-08-03 02:34  honan  阅读(326)  评论(0编辑  收藏  举报