先上源码:
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