我在客户端计算机上安装了C#windows应用程序。它运行正常,突然应用程序崩溃,当我检查异常时,我得到了以下细节:
描述:停止工作
<ProblemSignatures>
<EventType>CLR20r3</EventType>
<Parameter0>myapp.exe</parameter0>
<Parameter1>2.0.13</parameter0>
<Parameter2>529dadac</parameter0>
<Parameter3>mscorlib</parameter0>
<Parameter4>2.0.0.</parameter0>
<Parameter5>5174ddfb</parameter0>
<Parameter6>c43</parameter0>
<Parameter7>59</parameter0>
<Parameter8>System.FormatException</parameter0>
请提出宝贵的建议。
答案 0 :(得分:1)
您获得的例外情况是: - System.FormatException
以下是对它的简要说明: -
当方法调用中的参数格式与相应的形式参数类型的格式不匹配时,抛出FormatException。例如,如果方法指定由两个带有嵌入句点的数字组成的String参数,则将仅包含两位数的相应字符串参数传递给该方法将导致抛出FormatException。 FormatException使用HRESULT COR_E_FORMAT,其值为0x80131537。
如果您有WinForm应用程序,请尝试在“Program.cs”文件中执行此操作:-(由viusual studio生成的文件的默认名称)
try
{
Application.Run(new Form()) ;
}
catch(Exception ex)
{
Log(ex) ;
}
void Log(Exception ex)
{
string stackTrace = ex.StackTrace ;
File.WriteAllText(youFilePathHere, stackTrace) ; // path of file where stack trace will be stored.
}
通过分析堆栈跟踪,您可以轻松了解您在应用程序中遇到的“运行时异常”。(确切的行号,方法名称等)。
希望它有所帮助!
答案 1 :(得分:0)
难以从中分析。
但是,
将null
值转换为有意义的值时,将抛出此异常。
使用Convert
函数,您可能尝试将null值转换为其他值。
您必须在代码中检查空值,然后检查assign it to 0
或任何其他值作为便利。