Net Core教程

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

本文主要是介绍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

这篇关于C#控制台应用如何将“未经处理的异常”等异常信息变成指定字符串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!