无法捕获未知异常

时间:2014-01-15 16:49:13

标签: .net opengl visual-studio-2012 f# error-code

我自己写了一个带OpenTK的F#OpenGL包装器,我看到当我运行我的应用程序大约5分钟时它将中止,抛出异常并将其打印到控制台。

问题是visual studio中的控制台立即关闭,我无法看到消息输出。

所以我想我可以尝试抓住它并添加这样的断点。

let game = new HelloCube.Game()

try
    game.Run(60.,60.)
with
    | :? System.Exception as e ->
         printfn "%s" e.Message
         printfn "end" //breakpoint

但它没有抓住异常。

所以我查看了错误代码

The program '[4236] HelloCube.exe: Managed (v4.0.30319)' has exited with code 9008 (0x2330).

我发现

DNS RR set that ought to exist, does not exist.

这可能不是正确的错误代码。 DNS错误?

我能尝试什么想法?

1 个答案:

答案 0 :(得分:1)

( Console.ReadKey true ) |> ignore添加到您的函数末尾。这将导致控制台窗口暂停并等待按键(任何按键),然后退出(参见MSDN)。

另外,请使用e.ToString()而不是e.MessageException.ToString()将为您提供完整的strack跟踪和其他相关信息,这些信息通常很多更有用,只有异常消息。

退出代码对每个应用程序都是唯一的。查找错误代码时,必须确保您正在查找的字典与应用程序和版本号匹配。