问题标签 [aggregateexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
exception - Why is TcpClient.Connect() throwing System.AggregateException
I am trying to check the TCP connection to a localhost TCP server (ActiveMQ broker) using following code:
I stopped the localhost server (ActiveMQ broker), and tried to run the above code. It threw System.AggregateException
. When I started the server and ran the code; it connects to the server.
According to the documentation of TcpClient.Connect
it says it will throw one of the following:
ArgumentNullException
ArgumentOutOfRangeException
SocketException
ObjectDisposedException
SecurityException
NotSupportedException
Why will it throw System.AggregateException
?
c# - 聚合事件异常
我正在跟进一个教程,详细说明处理事件的多个订阅者中引发的事件。但是,当代码运行时,TargetInvocationException
catch 块不会捕获订阅者的方法体中抛出的异常:throw new Exception("Hello")
和throw new Exception("World")
分别。
相反,我在第一个侦听器中得到了一个未处理的异常错误,可以预见的是throw new Exception("Hello")
in private static void AlarmListener
。
尝试捕获被调用方法的异常时,我做错了什么?
c# - 来自 Task.WhenAll 的 AggregateException 仅在等待时包含第一个异常
在Task.WhenAll
调用中导致多个异常时,一旦您通过多于一层的等待等待它,看起来只有一个异常被吸收到任务中。我的印象是该Task.Exception.InnerExceptions
属性将包含所有发生的异常,但在某些情况下,它们似乎只有一个。
例如,此示例代码创建多个引发异常的任务,然后在它们上等待一个 Task.WhenAll,然后写入控制台它能够捕获的异常:
我期望这要么进入catch(AggregateException e)
子句,要么至少有三个内部异常task.Exception.InnerExceptions
- 引发一个异常的实际情况是,只有一个异常在task.Exception.InnerExceptions
:
更奇怪的是,这种行为会根据您是否等待Task.WhenAll
调用而改变CauseMultipleExceptionsAsync
——如果您直接返回任务而不是等待它,那么所有三个异常都会出现在task.Exception.InnerException
. 例如,替换CauseMultipleExceptionsAsync
为:
给出这个结果,task.Exception.InnerExceptions 中包含所有三个异常:
我对此感到很困惑 - 在最初的示例中异常 B 和 C 去了哪里?如果 Task.Exception 不包含有关它们的任何信息,您将如何再次找到它们?为什么 awaiting insideCauseMultipleExceptionsAsync
隐藏了这些异常,而Task.WhenAll
直接返回却没有?
如果它有所作为,我可以在 .Net Framework 4.5.2 和 .Net Core 2.1 中复制上述内容。
exception - c# wpf 如何捕获 FirestoreChangeListener 异常
我正在创建几个FirestoreChangeListeners(遵循https://googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Firestore/userguide.html上的用户指南)并且一切正常,但是当有网络问题,抛出 System.AggregateException,内部异常是 Grpc.Core.RpcException,状态为“Transport Closed”或“Failed to connect”(这是有道理的)。
问题是我不知道如何捕获或处理这些由 FirestoreChangeListeners 抛出的内部异常,或者我应该如何构造方法才能做到这一点。
我尝试在多个地方添加 try/catch,尝试将 ContinueWith 添加到侦听器,但无论如何我仍然得到未处理的 System.AggregateException。
文档说 Listen 方法是一种“方便”的方法,据说有助于监视 Listener ......它确实包括一个返回 Task 的 ListenerTask 方法。也许我需要对这些任务做些什么......我读过的所有建议我应该等待这个,但由于它是一个异步监听器,在程序运行的整个过程中都在后台运行,我不确定应该使用什么方法等待...不会等待阻止整个方法吗?
我的代码是:
非常感谢任何人都可以提供的任何帮助!
亲切的问候,达米安
windows - 自包含的win-x64可执行AggregateException:连接主动拒绝
我正在尝试为 Windows 发布一个独立的可执行文件。当我尝试通过特权 powershell(或 cmd)窗口运行可执行文件时,我收到以下错误:
如果它是相关的,在那条线上,我正在连接到另一台机器上的 tomcat 托管服务器。
奇怪的是,当我发布非独立应用程序时,我没有收到错误消息。应用程序成功运行完成。当我在 Visual Studio 中以调试模式运行程序时,我也没有收到错误消息。此外,我为 linux-x64 构建了一个独立的可执行文件,并且能够在 linux 机器上成功运行。
我尝试禁用 Windows Defender 防火墙和类似程序。但是,由于程序在其他情况下运行良好,我认为这不是防火墙问题。
独立的可执行文件有问题吗?在 Windows 上运行自包含的可执行文件之前,我是否遗漏了什么?我不知道如何解决这个问题。
unit-testing - xunit 测试用例中未捕获的聚合异常
我正在使用完全异步等待方法查询第三方 SDK,并且 SDKAggregateException
在正常情况下返回一个。在AggregateException
内部异常中将是一种ABCException
.
但是,在使用 Moq 和 XUnit 在单元测试用例中模拟相同的代码时,它会ABCException
直接返回。
这是 catch 块的代码部分:
这是单元测试用例的代码块:
在上面的代码中,一个正常的调用进来了AggregateException
,单元测试用例调用进来了ABCException
。
c# - 为什么我的自定义异常被 AggregatException 包裹。这取决于什么?
我有以下自定义异常:
我在这一点上扔它:
但是在测试的时候,我发现它被一个AggregateException包裹了,测试失败了:
在同一个类的其他地方我也抛出它(例如在SampleMethod()
调用的方法中AquireToken()
,我只得到自定义异常。
我很困惑,因为在其他项目中我应该是类似的,并且没有包装例外......
它取决于什么,如果 AggregateException 的异常是否被包装,我该如何避免它?
c# - OutOfMemoryException 与另一个异常结合
我正在调查内存问题,发现这是今天的日志:
System.AggregateException:发生一个或多个错误。---> System.ArgumentException:引发了“System.OutOfMemoryException”类型的异常。无法在期间列中存储 <15.02.2017 00:00:00>。预期类型是字符串。---> System.OutOfMemoryException:引发了“System.OutOfMemoryException”类型的异常。
以前OutOfMemoryException
的日志没有内部异常
无法在期间列中存储 <15.02.2017 00:00:00>。预期类型是字符串。
一个导致另一个,或者这个异常与OutOfMemoryException
? 我不是在问如何修复这些错误,而是为什么它们似乎捆绑在这个日志语句中而不是其他日志语句中。任何解释/参考/想法?
顺便说一句,这是一个 .Net Framework 应用程序,在具有 16 GB RAM 的 Windows 2012 Server 上作为 Windows 服务运行,运行大计算,因此有很多可以改进的地方。我的任务是改进代码,这样一开始就不会使用太多内存,我希望能正确理解上面的日志语句。
c# - 如何列出<>来自 ArgumentException 的异常并抛出 AggregateException
我想要一次所有异常消息,例如:在有效负载对象中,如果我不提供AccountName
and Note
。它应该报告我注意不能为空,帐户名不能为空我该怎么做?
我想制作一个所有这些消息的列表,然后抛出一个Agregateexception
. 我怎样才能做到这一点?