示例代码:
import std.process;
void main(){
try
{
spawnProcess(["/dev/null"]);
}
catch (Throwable p)
{
return;
}
}
在编译和执行时会与SIGABRT一起死掉,即使catch块应该捕获ProcessException。
编译器:ldc2基于LLVM 3.3和DMD 2.063.2(通过ldmd2 -O -inline -release调用),但也适用于gdc 4.8.2(通过gdmd -O -inline -release调用)。当我使用dmd -O -inline -release进行编译时,即使我只捕获ProcessException而不是Throwable,也会捕获execption。