问题标签 [targetinvocationexception]

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.

0 投票
3 回答
5819 浏览

c# - 如何在不丢失堆栈跟踪的情况下重新抛出 TargetInvocationException 的内部异常

我有很多使用Delegate.DynamicInvoke. 其中一些方法会进行数据库调用,我希望能够捕获 aSqlException而不是捕获 theTargetInvocationException并通过其内部查找实际出了什么问题。

我正在使用这种方法重新抛出,但它清除了堆栈跟踪:

PreserveStackTrace方法是我通过另一篇文章修复的扩展方法(我不知道它实际上做了什么)。但是,这似乎也没有保留跟踪:

0 投票
1 回答
1373 浏览

c# - ASP.NET 黄屏死机 - 它从哪里获得堆栈跟踪?

我在我的应用程序中设置了一个远程处理类型,我避免TargetInvocationExceptions并抓住了内部异常。我调用类的内部PrepForRemoting方法Exception以保留调用方法的堆栈跟踪。

这似乎正确地构造了堆栈跟踪属性:

"\r\n服务器堆栈跟踪:\r\n

在 ZBooking.Environment.Services.BookingService.<> c_DisplayClass9`1.b _5(BookingSlot p) 在 C:\dev\ZBookings\core\ZZBookings.Services\BookingService.cs:line 79\r\n

在 System.Linq.Enumerable.All[TSource](IEnumerable'1 源,Func'2 谓词)\r\n

在 C:\dev\ZBooking.Client\core\ZBookings.Services\BookingService.cs:line 79 中的 ZBookings.BookingService.MoveBooking[TBookingType](Int32 bookingId, >IEnumerable`1 bookingSlots)\r\n\r\n

在 [0] 处重新抛出异常:\r\n 在 ZBookings.BookingService.<>c_ DisplayClass9`1.b _5(BookingSlot p) in C:\dev\ZBookings\core\ZBookings.Services\BookingService.cs:line 79\ r\n

在 System.Linq.Enumerable.All[TSource](IEnumerable'1 源,Func'2 谓词)\r\n

在 C:\dev\ZBookings\core\ZBookings.Services\BookingService.cs:line 79 中的 ZBookings.BookingService.MoveBooking[TBookingType](Int32 bookingId, IEnumerable`1 bookingSlots)”

但是,当这由标准 ASP.NET 黄屏显示时,它是:

[NullReferenceException:对象引用未设置为对象的实例。] C:\dev\ZBooking\core\ZBooking.ApplicationServices\MethodMarshaller 中的 ZBooking.ApplicationServices.MethodMarshaller.Invoke(Delegate del, ZipIdentity zipIdentity, Object[] args)。 c:147 ZBooking.ApplicationServices.MethodMarshaller.Invoke(Delegate del, ZipIdentity zipIdentity, Object[] args) 在 C:\dev\ZBooking\core\ZBooking.ApplicationServices\MethodMarshaller.cs:105 ZBooking.ApplicationServices.MethodMarshaller.Call(Func '3 del, T1 arg1, T2 arg2, ZipIdentity zipIdentity) 在 C:\dev\ZBooking\core\ZBooking.ApplicationServices\MethodMarshaller.cs:72
...等。

在 Global.asax 中调用Server.GetLastError();Application_Error 会显示正确的堆栈跟踪。黄色屏幕堆栈跟踪来自哪里?

0 投票
1 回答
1179 浏览

wpf - 带有通过反射调用的类库的 DispatcherUnhandledException

我用反射加载了一个 WPF MVVM 类库。我还需要一个异常处理程序,如此所述。

由于这是一个托管 WPF 应用程序,我不能使用 App.xaml !这就是为什么我在加载我的应用程序的类中实现了所有需要的内容,如此所述,包括:

这里的问题是,当我抛出一个异常(从后台工作线程顺便说一句)时,它不能正常工作。实际上,如果我通过调用 Dispatcher.Invoke 手动抛出 NullReferenceException(为了在 UI 线程中抛出异常),并且当我进入 Current_DispatcherUnhandledException 调试器时,我看到的异常不是 NullReferenceException,而是地狱般的 TargetInvocation 异常带有“调用的目标已引发异常”消息。

我发现这个异常可能是由调用方法抛出的,该方法通过反射调用 WPF dll。

看起来 NullReferenceException在 wpf 应用程序之前被“WPF 类库调用方法”捕获...

这让我快疯了!

请帮忙 !

0 投票
2 回答
967 浏览

c# - C# TargetInvocationException - (不应该在那里?)

我正在尝试在 WPF 中制作一个简单的应用程序,但我遇到了一些异常情况。我有 2 个类:一个部分类(用于 WPF 窗口)和另一个我自己设置的公共类。当我尝试访问从 WPF 窗口类创建的类时,我遇到了 TargetInvocationException,告诉我对象引用未设置为对象的实例。但是,导致异常的对象引用设置为对象的实例。

这是我的代码:

当然,这是在一个命名空间中。我看不出我应该得到这个错误的任何原因,因为我的对象引用 CP 显然是 CurrentParent 的一个实例。

有人知道如何解决这个问题吗?提前致谢!

-伊恩

0 投票
1 回答
407 浏览

silverlight - 调用情感 API 后抛出 TargetInvocationException

我们正在开发 Silverlight Web 应用程序以在地图上显示推文并使用情绪 API 分析推文。我们使用情绪 API 3 或 4 周没有问题。然后,我们有时会在调用情感 API 后遇到 TargetInvocationException

现在,我们越来越多地调用情感 API 后遇到 TargetInvocationException。

XDocument newdoc = XDocument.Parse(en.Result);

en.Result 变为 null 并且

异常显示:

System.Reflection.TargetInvocatinException :操作过程中发生异常,导致结果无效。检查 InnerException 以获取异常详细信息。---> System.Net.WebException:远程服务器返回错误:NotFound ---> System.Net.WebException:远程服务器返回错误:NotFound。在 System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult ayncResult) 在 System.Net.Browser.BrowserHttpWebRequest.<>c_DisplalyClass4.b__1(Object sendState) --- System.Net.Browser.AsyncHelper 的内部异常堆栈跟踪结束。 BeginOnUI(SendOrPostCallback beginMethod, Object state) 在 System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult ayncResult) 在 System.Net.WebClient.GetWebResponse(WebRequest, IAsyncResult result) 在 System.Net.WebClient。

0 投票
1 回答
6160 浏览

c# - EPPlus 2.9.0.1 在尝试从 SSIS 包保存大于 ~1.5 MiB 的文件时抛出 System.IO.IsolatedStorage.IsolatedStorageException

问题

当我尝试使用 EPPlus 保存超过 ~1.5 MiB 的文件时,会ExcelPackage.Save()抛出System.IO.IsolatedStorage.IsolatedStorageException.

说明

我正在创建一个 SSIS 包,Visual Studio 2008 9.0.30729.4462 QFE并通过库.NET Framework 3.5 SP1导出表的内容。SQL Server 2008 SP2 10.0.4311.0 64 bitEPPlus 2.9.0.1

SSIS 包非常简单:Execute SQL Task读取表的内容并将其放入变量中,然后Script task读取记录集变量并通过 EPPlus 将内容保存到磁盘。

脚本任务的代码是:

当我只提供脚本任务的几条记录时,程序包运行良好,但是当我对整个表运行它时package.Save();,会出现System.IO.IsolatedStorage.IsolatedStorageException: Unable to determine the identity of domain异常。

在这里您可以看到完整的堆栈跟踪:

我已经能够将问题确定为生成文件的大小:当 Excel 文件的大小增长约 1.5 MiB 时(这是一个或多或少的值,我无法找到确切的大小),错误出现。

我能在网上找到的唯一信息是一篇博文,博主提出了一个解决方案,他将代码“外包”到 DLL 并将其上传到服务器的 GAC,然后运行以下代码:

但是,我无法尝试此解决方案,因为我无法访问服务器的 GAC,也无法上传 DLL。

有没有其他方法可以绕过这个问题?

我还打开了一份关于 EPPlus 问题跟踪器的错误报告。

摘要

  • SSIS 包
  • Visual Studio 2008 9.0.30729.4462 QFE
  • .NET 框架 3.5 SP
  • SQL Server 2008 SP2 10.0.4311.0 64 位
  • EPPlus 2.9.0.1
  • 大输出文件
  • System.IO.IsolatedStorage.IsolatedStorageException:无法确定域的身份
0 投票
2 回答
959 浏览

c# - C# 反序列化 - 捕获 TargetInvocationException 是否安全?

我正在使用 BinaryFormatter 序列化和反序列化一些对象。这些对象的结构如下:

我注意到,当我尝试反序列化对象时,如果找不到“SomeProperty”条目(例如,因为它被重命名或删除),则会引发 TargetInvocation 异常。由于我打算将来更改 SerializableObject 类的属性,所以我正在考虑捕获异常并将有问题的属性的值设置为某个默认值,而不是让我的应用程序崩溃,如下所示:

众所周知,捕获你不知道如何或无法处理的异常是一种不好的做法,所以我想问在这个地方捕获它是否安全?是否可以出于任何其他原因引发相同的异常(我不知道因此不应该处理)?

0 投票
1 回答
3784 浏览

.net - 来自 BackgroundWorker_RunWorkerCompleted 的 TargetInvocationException

假设以下情况。表单有一个按钮,单击该按钮可启动后台工作人员。在 RunWorkerCompleted 事件处理程序中有一段代码会引发未处理的异常。表单从 Application.Run 方法开始。

问题是 Visual Studio 在 Application.Run 调用处中断,而不是在 FormMain.backgroundWorker_RunWorkerCompleted 方法中的“throw new Exception()”处中断。最重要的是,真正的异常被 TargetInvocationException 包裹,调用堆栈被简化为 Program.Main 方法,因此无法检查导致异常的代码。

如何防止这种包装?我在做一些本质上错误的事情吗?

从 TargetInvocationException 提供的调用堆栈来看,堆积了很多调用方法,对于我对消息循环的基本理解和对线程的不太基本的理解来说太多了。

编辑:我知道 TargetInvocationException 中有 InnerException 属性,并且可以通过查看那里来跟踪错误,但这不是问题。问题是如何在使用 TargetInvocationException 包装真正的异常之前停止 Visal Studio,这样我就可以使用 VS IDE 提供的所有这些不错的调试功能。

0 投票
0 回答
465 浏览

.net - 使用 ContentPresenter 自定义 UserControl,嵌套对象为空

我有一个自定义的 UserControl (CustomControl1),用作 MainPage.xaml 中的数据容器。
作为 MainPage-CustomControl1 的内容,我放置了一些按钮。

我的错误/问题:
将显示按钮,但是当我尝试设置按钮属性时出现错误。
按钮对象将为空……。但为什么?
此外,当我在开发环境中单击嵌套对象时,不会从嵌套对象中引发任何事件。只有当我在 XAML 中选择嵌套对象时,我才能使用 [Object]->Properties->Events。

Silverlight 源:带有 TemplateBinding 和错误的
Vers.4 Vers.6

我必须改变什么?
我认为,这可能是我在 CustomControl1 中的 ContentPresenter 绑定错误。

我发现很多页面都存在这种问题......但我无法修复我的错误......

我的 CustomControl1.xaml:

我的 CustomControl1.xaml.cs:

我的 MainPage.xaml:

0 投票
4 回答
4173 浏览

c# - 在 DoWork Ba​​ckgroundworker 方法结束时未处理 TargetInvocationException

这是 DoWork:

一旦它到达最后一个},我就会在此处收到 TargetInvocationException 未处理错误(请参阅代码中的注释):

我不确定为什么会突然发生这种情况。有谁知道为什么?

最后,这是 RunWorkerCompleted: