草庐IT

异常分析

全部标签

c# - Csv 阅读器异常未处理

我一直遇到这个错误:Anunhandledexceptionoftype'CsvHelper.CsvReaderException'occurredinCsvHelper.dllAdditionalinformation:Nopropertiesaremappedfortype'RPS_String_Parse.Program+FormattedRow'.但我相信我正在关注thedocumentation正确。在引用了“入门”部分后,我实现了这个:using(varsr=newStreamReader(filePath)){varcsv=newCsvReader(sr);varreco

c# - 多种形式的异常处理

我在调试时和在运行已编译的.exe时看到异常被捕获或未被捕获的不同行为。我有两种形式(Form1和Form2)。Form1上有一个按钮,它在Form2上实例化并调用ShowDialog。Form2上有一个按钮,它有意产生被零除的错误。当我调试时,命中了Form1中的catchblock。当我运行已编译的.exe时,它​​没有命中,而是出现一个消息框,指出“您的应用程序中发生了未处理的异常。如果您单击继续,应用程序将忽略此错误并尝试继续。如果您单击退出,应用程序将立即关闭...试图除以零”。我的问题是为什么在调试时和运行.exe时会出现不同的行为?如果这是预期的行为,那么是否认为有必要在

c# - 找到最内层异常的正确方法?

我正在处理一些类,这些类在抛出时具有相对较深的InnerException树。我想记录最里面的异常并对其采取行动,这是导致问题真正原因的异常。我目前正在使用类似的东西publicstaticExceptiongetInnermostException(Exceptione){while(e.InnerException!=null){e=e.InnerException;}returne;}这是处理异常树的正确方法吗? 最佳答案 我认为您可以使用以下代码获取最里面的异常:publicstaticExceptiongetInnermo

c# - 分层 Entity Framework 查询异常

我正在尝试使用EntityFramework构建分层集合-请参阅下面的查询-给定公司中的每个成员都有一个父成员-但是在尝试执行此操作时我得到以下异常:System.NotSupportedException:Thetype'Member'appearsintwostructurallyincompatibleinitializationswithinasingleLINQtoEntitiesquery.Atypecanbeinitializedintwoplacesinthesamequery,butonlyifthesamepropertiesaresetinbothplacesan

c# - 如何让任务异常传播回 UI 线程?

在TPL中,如果Task抛出异常,该异常被捕获并存储在Task.Exception中,然后遵循observedexceptions上的所有规则.如果它从未被观察到,它最终会在终结器线程上重新抛出并使进程崩溃。有没有办法阻止Task捕获该异常,而只是让它传播?我感兴趣的任务已经在UI线程上运行(由TaskScheduler.FromCurrentSynchronizationContext提供),我希望异常转义以便它可以由我现有的Application.ThreadException处理处理程序。我基本上希望Task中未处理的异常表现得像按钮单击处理程序中的未处理异常:立即在UI线程上传

c# - .NET ConcurrentDictionary.ToArray() 参数异常

有时,当我调用ConcurrentDictionary.ToArray时,会出现以下错误。错误如下:System.ArgumentException:Theindexisequaltoorgreaterthanthelengthofthearray,orthenumberofelementsinthedictionaryisgreaterthantheavailablespacefromindextotheendofthedestinationarray.atSystem.Collections.Concurrent.ConcurrentDictionary2.System.Colle

c# - Entity Framework 给出异常 : "The underlying provider failed on Open."

我有一个测试。发生的情况是,无论何时首先执行test1,test2都会失败并显示消息:"System.Data.EntityException:System.Data.EntityException:theunderlyingproviderfailedonopen.cannotopendatabase"DBEntities"requestedbythelogin.Theloginfailed.".只要先执行test2,test1就会失败并显示相同的消息。过去3天我一直在处理这个问题。[TestClass]classMyTestClass{DBEntitiesdb;[TestIniti

c# - 如何在单元测试中模拟抛出异常?

如何模拟在C#单元测试中抛出的异常?我希望能够100%覆盖我的代码,但我无法测试可能出现异常的代码。例如,我无法模拟可能发生的电源故障。例如:publicvoidMyMethod(){try{...}catch(OutOfMemoryExceptione){...}catch(RandomErrorFromDatabaseLayere){...}}我希望能够模拟此方法中应捕获的任何类型的异常。有没有图书馆可以帮助我解决这个问题?编辑1:对完成我对最小起订量的要求有什么帮助吗? 最佳答案 您需要创建一个模拟对象来代替可以抛出这些异常的

c# - 异常(HRESULT : 0x800AC472) when using Excel. 工作表。调用 Excel.Workbook.SaveAs 后选择

我正在打开一个xlsx文件并将每张纸保存到一个csv文件中。保存的相关代码如下:inti=0;foreach(Excel.Worksheetsinapp.ActiveWorkbook.Sheets){s.Select(true);//ErrorhereStringoutfile=outputpath+"("+i+")"+outputfilename+".csv";wkb.SaveAs(outfile,Excel.XlFileFormat.xlCSVMSDOS);++i;}输出文件名或路径没有问题,输出文件不存在。它保存前两张纸然后崩溃。我尝试使用具有4张纸的不同输入文件,它运行良好,所

c# - 从控制台应用程序发送电子邮件时导致套接字异常的原因是什么?

我正在尝试编写一个可以发送电子邮件的基本控制台应用程序。问题是我不断收到Socket异常:Anattemptwasmadetoaccessasocketinawayforbiddenbyitsaccesspermissionsxxx.xxx.x.xxx:25我关闭了Windows防火墙,但它没有任何改变。我尝试在指定和不指定凭据的情况下运行它。我还尝试使用不同的smtp服务器,包括带有端口25的smtp.mail.yahoo.com和我的凭据,但没有成功。是什么问题导致了这个异常?我在Windows7上运行VS2008。下面是我的代码示例和我得到的异常。staticvoidMain(s