【c# – 使用ContinueWith()时如何获取原始异常?】教程文章相关的互联网学习教程文章

c# – 在.NET 4.5中加载大型XSLT时,异常“样式表太复杂”【代码】

我在尝试加载XSLT样式表时遇到异常. XSLT样式表非常大(近8,000行).不幸的是,我对此没有任何控制权,而且我无法重构样式表以使其变小. 我们最近升级到.Net Framework 4.5.以下命令在升级之前工作得很好(我们使用的是.Net Framework 4.0).升级后,我们收到一个XsltException,它在transform.Load行上显示“样式表太复杂”. 我希望有一些新设置可以说“让这个命令按照它在4.0中的方式工作”,但我找不到任何地方. 有没有人知道为什么这可能...

如何处理NullReference异常c#【代码】

我正在尝试处理NullReference异常,但我很困惑如何处理它.这是我的示例代码,其中引发了NullReference异常:private Customer GetCustomer(string unformatedTaxId){ return loan.GetCustomerByTaxId(new TaxId(unformatedTaxId)); }现在我用以下方法处理这个问题public void ProcessApplicantAddress(ApplicantAddress line){try{Customer customer = GetCustomer(line.TaxId);//if (customer == null...

c# – Visual Studio功能,用于自动生成异常的相关catch块?【代码】

假设我在C#中有以下方法:XslCompiledTransform myObject;public void foo() {try {myObject.Transform(input, output);} catch (???) {} }Visual Studio 2012中是否有菜单选项或功能,它会自动生成XslCompiledTransform中可能发生的异常的所有catch块?比如“Generate catch blocks”?解决方法:不,没有智能方法可以自动生成所有可能异常的所有catch块.但是Visual Studio会向函数调用显示相关的异常列表,如下所示.

c# – 期望异常时应用Arrange-Act-Assert模式的最佳方法【代码】

我正在尝试在编写单元测试时遵循Arrange-Act-Assert模式,我到了一个地方,我很困惑哪种方法会更好.我正在使用xUnit,我的第一个问题是://Arrange int key = 1; string value = "X";//Act board.Add(key, value); var result = Assert.Throws<ArgumentException>(() => board.Add(key, value));//Assert Assert.IsType<ArgumentException>(result);我的第二种方法是:int key = 1; string value = "X";board.Add(key, value);Assert....

c# – 多次抛出异常会丢失其原始堆栈跟踪【代码】

我一直在玩Exceptions以了解我应该如何正确使用它们.到目前为止,我知道throw会保留原始堆栈跟踪;抛出新的CustomException(…)通常用于想要添加有关发生的异常或添加/更改消息的更多信息,甚至更改Exception本身的类型;除非我想丢失原始堆栈跟踪,否则永远不应该使用throw ex. 所以我编写了一个小程序,我可以在原始消息中添加内容时多次捕获并重新抛出异常.public class Sample {static void Main(string[] args){new Tester().FirstC...

c# – 异常消息是On数据上下文类型,有一个顶级的IQueryable属性,其元素类型不是实体类型【代码】

我建立了我在IIS 7中托管的WCFDataService,我将使用Reflection Provider作为数据源提供者.如果我将实体类型定义保存在我定义服务的同一个程序集中,我的示例工作,但如果我将实体类型移动到另一个引用的程序集,则不起作用有以下错误“server encountered an error processing the request. The exception message is ‘On data context type ‘EntityContainer’, there is a top IQueryable property ‘Cats’ whose element type i...

c# – 为什么在重定向输出时调整控制台缓冲区会引发无效的句柄异常?【代码】

在将输出重定向到文件时,调整C#控制台应用程序中的Console.BufferWidth会引发异常.我们调用示例test1.exe:static void Main(string[] args) {Console.BufferWidth = 240;Console.WriteLine("output1\noutput2"); }标准输出很好:test1.exe output1 output2重定向到文件会引发异常:test1.exe > file.txtUnhandled Exception: System.IO.IOException: The handle is invalid.at System.IO.__Error.WinIOError(Int32 errorCode, Str...

c# – 仅当item中存在属性时才在aspx中使用Eval – 抛出DataBinding异常【代码】

我有一个aspx页面,其中包含一个包含5个字段的转发器.这些字段填充了两种不同的项目类型.一个项目有3个属性:“A”“B”“C”,另一个项目有“A”“B”“C”“D”“E”. 我想为两者使用相同的转发器,但只显示每个转发器的相关属性.当尝试在项目1的属性“D”上使用Eval时,我得到错误:DataBinding:’Item1’不包含名为’D’的属性. 我尝试使用if语句,但它没有帮助,当尝试使用“ItemDataBound”事件时,它也会在尝试加载Item1时抛出异常...

c# – 我应该返回状态代码还是在.Net Web Api 2中抛出异常【代码】

我见过像this这样的例子public IHttpActionResult GetProduct(int id) {Product item = repository.Get(id);if (item == null){throw new HttpResponseException(HttpStatusCode.NotFound);}return Ok(item); }但我也想象这是一个选择public IHttpActionResult GetProduct(int id) {Product item = repository.Get(id);if (item == null){return NotFound();}return Ok(item); }抛出异常或只返回NotFound(IHttpActionResult实例)是...

c# – 十进制超出范围异常【代码】

在我的C#应用??程序中,我试图将十进制价格保存到SQL Server表中.列类型为十进制,未定义总数. 没有折扣计算,一切正常. 但是当我运行一些计算时,我得到的最终值为21800,并且在尝试保存时出现以下错误."Parameter value '218000/00000000000000' is out of range."我不明白额外的零来自哪里!我唯一知道的是myValue.ToString()我也得到了218000/00000000000000! 我知道浮点后的数字是由计算引起的.但无论他们做什么,我看到它的价值是...

C#使用moq从异步方法中抛出异常【代码】

我使用Moq库作为与nunit一起的模拟框架.我无法弄清楚如何设置我的模拟对象从返回任务的异步方法抛出异常. 任何帮助表示赞赏解决方法:异步方法通常不直接抛出异常 – 它们返回最终出现故障的任务.创建此类任务的最简单方法是使用Task.FromException. 你没有在你的问题中给出很多细节,但我怀疑你是否只是让你的模拟返回Task.FromException的结果,你想要的异常,这将适当地模拟错误.唯一的缺点是任务将立即出现故障,只会测试等待它的任...

c# – 如何捕获从延续中抛出的未处理异常?【代码】

我无法捕获从延续任务抛出的未处理异常. 为了演示这个问题,让我向您展示一些有效的代码.此代码来自基本的Windows窗体应用程序. 首先,program.cs:using System; using System.Windows.Forms;namespace WindowsFormsApplication3 {static class Program{[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.SetUnhandledExceptionMode(UnhandledExc...

c# – .NET核心不支持BeginInvoke? (PlatformNotSupported异常)【代码】

我已将库FluentFTP移植到.NET标准/ .NET内核,但异步方法在async / await块中使用BeginInvoke.它是这样的:async ConnectAsync(){BeginConnect(); } void BeginConnect(){BeginInvoke(...) << error at this point }那时我得到一个PlatformNotSupported异常.在.NET核心上可以做些什么来支持它? >完整信息here.>完整代码:ConnectAsync,BeginConnect.解决方法:异步I / O方法不应使用Delegate.BeginInvoke.这暴露了一个fake-asynch...

c# – 如果抛出异常,“固定”是否可以正确清理?【代码】

我假设fixed的实现类似于using / try..finally,因为如果块提前终止(通过返回或抛出异常),指针会被正确清理(“不固定”以便GC可以完成其工作再次). 但是,我没有在fixed documentation中看到这样的保证,所以我想知道某处是否存在某种形式的官方保证,或者我是否应该在每个固定区块中引入try..catch.unsafe void FooUnsafe() {var str = "Foo";try{fixed (char* pStr = str){Console.WriteLine("First Char: " + (*pStr));throw new Ex...

c# – prolog异常中不允许的内容【代码】

我正在尝试将xml发送到第三方通过c#.NET应用程序提供给我的基于java的Web服务,并且我得到了org.xml.sax.SAXParseException:prolog错误中不允许使用内容. 我已经针对模式验证了xml,并且我传递了用于将xml保存到.xml文件的内存流,然后使用十六进制编辑器打开文件以确保prolog中没有不需要的字符,并且没有.打开时,文件中的第一个字符是<?xml version="1.0" encoding="utf-8"?>我用来将xml数据发送到Web服务的类接受一个字节数组.我认...