草庐IT

EXCEPTION

全部标签

c# - 从线程向主线程发送异常?

我想将当前线程(该线程不是主线程)的异常传递给主线程。为什么?因为我在另一个线程中检查我的硬锁(该线程使用计时器进行检查),当HardLock不可访问或无效时,我创建了一个由我自己定义的异常,然后抛出该异常。所以那个异常(exception)不能很好地工作。;( 最佳答案 最好的办法是将Thread替换为Task(.NET4.0中的新功能)。Task类处理将异常正确编码到任何检查任务结果的线程。如果无法使用.NET4.0,则Rxextensions中的CoreEx.dll包含一个Exception.PrepareForRethrow

c# - 如何从输出窗口中找到第一次机会异常

我在Debug模式下的输出窗口中获得了第一次机会异常。我如何找到它们的来源?我是否必须在每次捕获时都设置断点?Afirstchanceexceptionoftype'System.IO.IOException'occurredinmscorlib.dll 最佳答案 转到调试、异常(Ctrl+D、E),然后检查您感兴趣的类型。此对话框告诉调试器在抛出异常时中断,无论它是否被捕获。 关于c#-如何从输出窗口中找到第一次机会异常,我们在StackOverflow上找到一个类似的问题:

c# - ASP.Net Core 2 错误处理 : How to return formatted exception details in Http Response?

我正在寻找一种方法来返回调用我的WebAPI的方法时发生的任何异常的详细信息。默认情况下,在生产环境中,错误500“InternalServerError”是API返回的唯一信息。它是一个不在互联网上发布的私有(private)API,调用方应用程序需要获取并存储所有详细信息以防出现异常。异常详细信息可以在HttpResponse内容中采用JSON格式,允许调用者阅读消息属性,以及异常的StackTraceString属性(没有类似UseDeveloperExceptionPage配置的HTTP页面)。目前默认的启动配置方法是:publicclassStartup{[...]publi

c# - 什么时候应该使用 ThrowHelper 方法而不是直接抛出?

什么时候使用ThrowHelper方法而不是直接抛出是合适的?voidMyMethod(){...//thrownewArgumentNullException("paramName");ThrowArgumentNullException("paramName");...}voidThrowArgumentNullException(stringparamName){thrownewArgumentNullException(paramName);}我读到调用ThrowHelper方法(唯一目的是抛出异常的方法)而不是直接抛出应该产生更小的字节码。这和明显的封装(另一层间接)可能是不

c# - WebKit.Net 和 OpenWebKitSharp 错误 : Failed to initialize activation context

我同时使用/或者使用WebKit.Net和OpenWebKitSharp。但是,一旦我尝试实例化WebKitBrowser,我就会收到错误消息:无法初始化激活上下文有人知道这是什么吗? 最佳答案 只有当您的exe文件夹中缺少OpenWebKitSharp.manifest和其他WebKit文件时,才会发生此错误。尝试将每个文件从“核心”文件夹复制到您的调试/发布目录。 关于c#-WebKit.Net和OpenWebKitSharp错误:Failedtoinitializeactivati

c# - NaoQi 和 Leap 问题 : An unhandled exception of type 'System.BadImageFormatException' . .. 并且无法加载文件或程序集

目前,我遇到了一个问题,我无法通过Google上的解决方案解决这个问题。到目前为止没有任何效果。当我编译LeapMotion代码并导入NaoqiC#库时,它工作正常。当我实际尝试使用一行代码连接到机器人时,我的程序崩溃了。我的程序设置为为任何CPU构建。.dll被Leap库和NaoQi库引用,并且.dll被放置在调试文件夹和项目文件夹中以备不时之需。目前我还不知道问题出在哪里。这里有人能弄清楚吗?我会很高兴让这个工作。这是第一条错误信息,然后它要求我中断或继续:Anunhandledexceptionoftype'System.BadImageFormatException'occur

C#:什么时候应该使用 TryParse?

我知道它不会抛出异常,因此它可能会明显更快,而且,您很可能使用它来将输入转换为您可以使用的数据,所以我认为它没有被这样使用通常会在性能方面产生如此大的差异。无论如何,我看到的例子都是if/elseblock和TryParse的行,else返回错误消息。对我来说,这与使用try/catchblock和catch返回错误消息基本相同。那么,我是不是漏掉了什么?在某些情况下这实际上有用吗? 最佳答案 除了您自己提到的性能方面外,还有语义差异:使用try/catch是为了应对特殊情况。输入无效数据是您所期望的,而不是异常(exception

c# - x64 和 x32 中的不同行为展开堆栈

为什么在下面详述的场景中,堆栈空间在x64中增加而在x32中减少,代码相同?背景:我们的客户可以使用领域语言编写脚本,该语言在运行时使用递归技术进行解释并在网络服务器上执行。他们可能会在脚本中犯错误而引发异常,该异常会被捕获并记录。由于这种递归技术,我们通过检查解释器执行脚本时使用的堆栈空间来防止堆栈溢出异常,并在我们实际用完堆栈之前终止脚本。在32位模式下一切正常,当脚本编写器出错时Exception生成,记录,堆栈展开,在此期间堆栈上剩余的空间增加并且脚本很好地终止。在64位模式下,一切都不太好,当脚本编写器出错时Exception生成,记录,堆栈展开,在此期间堆栈上剩余的空间减少

c# - HttpClient 的多个证书

我正在构建一个WindowsPhone8.1应用程序,它允许Azure用户使用Azure服务管理API查看他们的订阅/服务。身份验证是使用管理证书完成的,证书附加到对API的所有请求。它适用于单个用户。但是当我尝试包含多个订阅的功能时,问题就出现了。我能够在证书存储中安装证书并检索它。但是当我向API发送请求时,问题就出现了。即使我附加了正确的证书,我也会收到403forbidden错误。这是我使用的代码。publicasyncTaskGetCertificate(){awaitCertificateEnrollmentManager.ImportPfxDataAsync(Certif

c# - 删除空文件夹并重新创建后出现 System.IO.DirectoryNotFoundException

我想复制一个文件夹,我想先删除目标文件夹。所以我要删除目标文件夹然后重新创建它然后复制文件。问题是我得到Anunhandledexceptionoftype'System.IO.DirectoryNotFoundException'occurredinmscorlib.dll尝试复制文件时。这是代码staticpublicvoidCopyFolder(stringsourceFolder,stringdestFolder){if(Directory.Exists(destFolder))//checkiffoldeexist{Directory.Delete(destFolder,tr