C#捕捉全局异常

1.运行图片

2.源码

csharp 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 捕捉全局异常
{
    internal static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [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);
        }
    }
}

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

相关推荐
不瘦80斤不改名8 分钟前
HTML基础(一)
开发语言·前端·html
Shadow(⊙o⊙)9 分钟前
初识Qt+经典方式实现hello world!的交互
开发语言·c++·后端·qt·学习
Byte Wizard9 分钟前
C语言指针深入浅出3
c语言·开发语言
88号技师14 分钟前
2026年4月一区SCI-狒狒优化算法Baboon optimization algorithm-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
平凡但不平庸的码农26 分钟前
Go context 包详解
开发语言·后端·golang
隐士Xbox26 分钟前
c++ 指针的用法
开发语言·c++·计算机视觉
江南十四行31 分钟前
Python元类编程——从type到metaclass的深度探索
开发语言·python
众乐乐_200836 分钟前
PHP 的进程 fork 机制
开发语言·php
yujunl38 分钟前
U9 WCF调试的一个坑
开发语言
lly20240640 分钟前
Scala 模式匹配
开发语言