C#简单异常输出
我正在制作一个程序,需要输出任何发生的错误,但在一个及时的方式,这是一个密码恢复程序 如何将异常文本变量(可能是字符串)更改为实际异常减去所有不需要的内容C#简单异常输出,c#,security,exception,exception-handling,C#,Security,Exception,Exception Handling,我正在制作一个程序,需要输出任何发生的错误,但在一个及时的方式,这是一个密码恢复程序 如何将异常文本变量(可能是字符串)更改为实际异常减去所有不需要的内容 catch(Exception EX) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("AN ERROR OCCURED IN COPYING CHROMEPASSFILE: " + EX); Console.Foregroun
catch(Exception EX)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("AN ERROR OCCURED IN COPYING CHROMEPASSFILE: " + EX);
Console.ForegroundColor = ConsoleColor.Green;
}
输出:
AN ERROR OCCURED IN COPYING CHROMEPASSFILE: System.IO.IOException: The file 'C:\Users\Anonymous\Desktop\E_TEST\logindata.' already exists.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName)
at Recover_All_Passwords.Program.Main(String[] args) in C:\Users\Anonymous\Documents\Visual Studio 2015\Projects\Recover_All_Passwords\Recover_All_Passwords\Program.cs:line 27
我怎么能只输出第一行而不输出那些“At(s)”
刚刚注意到exception的标签上写着,我引用“异常是一种很少发生的(异常!)情况,需要偏离程序的正常流程。”
编辑
是的,stacktrace非常有用,但是我只需要错误消息,因为用户除了对实际失败的内容感兴趣外,不会对任何内容感兴趣 不要使用
EX
,而是使用异常上的消息
属性
因此,您的代码变成:
Console.WriteLine("AN ERROR OCCURED IN COPYING CHROMEPASSFILE: " + EX.Message);
为便于将来参考,“at(s)”是用于确定应用程序正在中断的位置的,并且非常有用。请使用异常上的
消息属性,而不是使用EX
因此,您的代码变成:
Console.WriteLine("AN ERROR OCCURED IN COPYING CHROMEPASSFILE: " + EX.Message);
为便于将来参考,“at(s)”是用于确定您的应用程序正在中断的位置的,并且非常有用。ReplaceConsole.WriteLine(“复制CHROMEPASSFILE时发生错误:“+EX”)使用Console.WriteLine(“复制CHROMEPASSFILE时出错:“+EX.Message”)
ReplaceConsole.WriteLine(“复制CHROMEPASSFILE时出错:“+EX”)使用Console.WriteLine(“复制CHROMEPASSFILE时出错:“+EX.Message”)代码>谢谢,这很有效。我意识到at是有用的,但是这是一个“快速部署”实用程序。我可能会让程序在运行后的同一位置创建一个txt文件,该文件具有程序的高级统计信息谢谢,这很有效。我意识到at是有用的,但是这是一个“快速部署”实用程序。我可能会让程序在运行后在具有程序高级统计信息的相同位置创建一个txt文件