• C#捕捉全局异常


    1.运行图片

    在这里插入图片描述

    2.源码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 捕捉全局异常
    {
        internal static class Program
        {
            /// 
            /// 应用程序的主入口点。
            /// 
            [STAThread]
            static void Main()
            {
    
                //设置捕捉全局异常的程序
                Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
                Application.ThreadException += Application_ThreadException;
                AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
    
    
    
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
    
            private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
            {
                //处理应用程序域中的异常
                Exception ex = e.ExceptionObject as Exception;
                if (ex != null)
                {
                    MessageBox.Show($"发生了未处理的异常:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show($"发生了未处理的非托管异常", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    
            private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
            {
                //处理线程异常
                MessageBox.Show($"发生了未处理的异常:{e.Exception.Message}\r\n" + $"错误的位置:{e.Exception.StackTrace}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    3,使用方法---->不用弹窗的方式,可以用写Log的方式写出来。

  • 相关阅读:
    【每日十分钟前端】基础篇19,普通函数、箭头函数、构造函数的区别
    项目启动脚本解析
    MySQL报错this is incompatible withsal mode=only full group by处理办法
    MTK联发科MT6853和MT6873安卓核心板性能参数对比
    [实践篇]13.25 QCOM平台QNX侧如何分析GPU负载
    caffeine学习笔记
    小白学Java
    Java-JDBC
    HTML5 Canvas 超逼真烟花绽放动画
    css中级选择器
  • 原文地址:https://blog.csdn.net/weixin_39875396/article/details/133523347