C#控制台应用如何将“未经处理的异常”等异常信息变成指定字符串

先上源码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace now
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                DateTime dt = DateTime.Now;
                if (args[0] == "/?")
                {
                    goto help;
                }
                else
                {
                    Console.WriteLine(dt.ToString(args[0]));
                }
                Environment.Exit(0);
            }
            catch
            {
                goto help;
            }
        help:
            Console.WriteLine("获取任意格式时间");
            Console.WriteLine();
            Console.WriteLine("now" + " yyyy-MM-dd hh:mm:ss.fffffff");
            Console.WriteLine();
            Console.WriteLine("  y Year        年");
            Console.WriteLine("  M Month       月");
            Console.WriteLine("  d Day         日");
            Console.WriteLine("  h Hours       小时");
            Console.WriteLine("  m Minutes     分钟");
            Console.WriteLine("  s Seconds     秒");
            Console.WriteLine("  f MS          毫秒(最多保留7个位数)");
            Console.WriteLine();
            Console.WriteLine("文哥软件定制 QQ:1127308193");
        }
    }
}

核心代码就是使用try函数

{
执行代码
}
catch
{
异常后代码
} 

另外:
if (args[0] == "/?")我这里是加入了“查看程序详细信息”的参数,所以异常信息提示没有直接写在catch里面,而是写到goto跳转到了help:标签上。
如果采用此方法,则必须在执行代码后加入Environment.Exit(0);进行关闭程序,否则的话,又会往下执行到help标签上的“查看程序详细信息”的参数代码。

这样跟上"/?"参数或出现异常信息时就变成了“查看程序详细信息”的字符串:
运行结果
而不会在没有跟上对应相关参数时,会出现类似下图的报错提示:
报错提示

参考文献:
c#怎么不提示异常信息
https://bbs.csdn.net/topics/350176698

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值