我正在编写一个使用最新的MediaInfoLib Dll的C# .NET 3.5程序。
似乎对于某些文件会引发异常。
我想捕获这些异常并确保我的程序继续运行,
但由于某种原因,我无法使用简单的try/catch语句来捕获它。
PInvoke方法:
调用MediaInfo_Open(Handle, FileName)可能会导致异常。
我程序没有使用try/catch语句来捕获错误,而是退出并导致“vshost32-clr2.exe”崩溃。(它也会在发布版本中崩溃,并且未附加调试器)
在搜索网络后,我发现有人建议检查“启用非托管代码调试”,但这只导致我的程序退出而不是vshost32-clr2.exe崩溃。
你有什么办法可以捕获异常吗?
似乎对于某些文件会引发异常。
我想捕获这些异常并确保我的程序继续运行,
但由于某种原因,我无法使用简单的try/catch语句来捕获它。
PInvoke方法:
[DllImport("MediaInfo.dll")]
private static extern IntPtr MediaInfo_New();
[DllImport("MediaInfo.dll")]
private static extern IntPtr MediaInfo_Open(IntPtr Handle,MarshalAs(UnmanagedType.LPWStr)] string FileName);
使用方法:
Handle = MediaInfo_New();
try{
MediaInfo_Open(Handle, FileName)
} catch { }
调用MediaInfo_Open(Handle, FileName)可能会导致异常。
我程序没有使用try/catch语句来捕获错误,而是退出并导致“vshost32-clr2.exe”崩溃。(它也会在发布版本中崩溃,并且未附加调试器)
在搜索网络后,我发现有人建议检查“启用非托管代码调试”,但这只导致我的程序退出而不是vshost32-clr2.exe崩溃。
你有什么办法可以捕获异常吗?