为什么win32异常不被c#异常处理机制所捕获
发布时间:2020-12-13 20:00:56 所属栏目:Windows 来源:网络整理
导读:我有一个 winforms应用程序. Winforms从我们有main()定义的Program.cs开始.我把这个代码放在try-catch块中. [STAThread] static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application
我有一个
winforms应用程序.
Winforms从我们有main()定义的Program.cs开始.我把这个代码放在try-catch块中.
[STAThread] static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmSplash()); } catch (Exception ex) { MessageBox.Show(ex.Message); if (ex.InnerException != null) { MessageBox.Show(ex.InnerException.ToString()); } } } 每当有一个win32异常时,这个机制就会失败,抛出异常消息并且应用程序崩溃. 1)为什么win32异常没有被捕获. 2)在最高级别捕获例外是一个很好的做法.
编辑:正如
Pratik指出的,以下答案仅适用于.NET 1.0和.NET 1.1.从.NET 2.0开始,非CLS异常应该被捕获为
RuntimeWrappedException.
因为Win32异常不是从.NET Exception类派生的.尝试: try { } catch (Exception ex) { // .NET exception } catch { // native exception } 有关详细信息,请参阅Catch non-CLSCompliant exceptions in general handlers. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows 下的 PHP-PEAR 安装方法
- .net – 以编程方式在Windows中重启USB设备
- windows安装cygwin 安装笔记
- windows的bat脚本
- windows – 从剪切区域中排除圆角矩形?
- 如何使用Windows身份验证与MSSQL 2008 Delphi 7 ADO,但用户
- WIN10安装office2003/7失败 WIN10安装office2003权限不足解
- windows-phone-7 – AudioPlayerAgent不支持的API
- windows-desktop-gadgets – 在没有Visual Studio的情况下调
- 紧凑框架 – 无法创建Windows Mobile Compact Framework构建
推荐文章
站长推荐
- windows – 如何使用CMD获取硬盘信息
- 使用批处理打开控制面板中的功能
- Windows Mobile:使用C#的手机摄像头
- 如何在Windows上安排自动FTP下载?
- windows-server-2003 – Windows Server SBS 200
- wcf – 使用Microsoft.Data.Services.Client.dll
- winapi – 如何在Windows上检测已安装的Sun/Orac
- windows-server-2008-r2 – 为Windows Server 20
- Window安装Redis并设置为开机启动
- windows-server-2012-r2 – CSV上Hyper-V存储的可
热点阅读