草庐IT

try-except-block

全部标签

c# - 第一次机会异常(exception)

我当时正在研究C#中的套接字,在编写了基本的两人聊天代码后,我决定转向多人聊天,它有一个服务器和X个客户端。现在,即使只有一个客户端连接,也会出现问题。一旦客户端连接,服务器和客户端都会收到一条消息,“另一个客户端已连接”或“已连接到服务器”。第二次他们都点击了确定,客户端的程序崩溃了,然后是服务器程序(我稍后会处理断开连接,我想先让它工作)。正如您从标题中猜到的那样,我得到的唯一结果是“第一次机会异常(exception)”,即使在谷歌搜索或阅读此处后,我也无法阻止它出现,也无法理解它为什么会出现。这是调试器输出的两行:Afirstchanceexceptionoftype'Syst

c# - 构造函数中的 Try/catch block

在构造函数中使用try/catchblock是否是一种糟糕的编程习惯?或者只要我们的程序优雅地处理typeinitializer异常就没有什么区别。在C#中,如果构造函数中有任何异常,框架总是抛出类型初始化异常。谢谢,沙米卡 最佳答案 System.TypeInitializationException在static构造函数抛出异常时抛出,而不是在实例构造函数上。异常通常在实例构造函数中抛出。除此之外,与其他任何地方一样,它也没有什么“错误”;处理您可以从中正确恢复的异常,并允许那些您无法恢复的异常。

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# - NaoQi 和 Leap 问题 : An unhandled exception of type 'System.BadImageFormatException' . .. 并且无法加载文件或程序集

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

c# - 如何制作俄罗斯方 block 克隆?

我正在使用XNAC#编写俄罗斯方block的克隆代码,但不确定在高层次上处理游戏数据结构方面的最佳方法。我对碰撞检测、旋转、动画等完全没问题。我需要知道存储“掉落的方block”的最佳方法——即不再受玩家控制的方block。我认为每个Tetrominoblock都应存储在其自己的类中,该类由4x4数组组成,以便可以轻松旋转block。那么问题是如何将四联骨牌的最终位置存储到游戏网格中,方法是将四联骨牌切割成单独的block(对于每个单元格),然后设置主游戏网格的相应位置以容纳这些相同的block,然后将四联骨牌消失一次它已经到达了它的最终位置。也许我的方法有一些缺点。我是否应该为主游戏

c# - 如果我从 C# 中的 try/finally block 中返回,finally 中的代码是否总是运行?

根据一些初步测试,它似乎确实如此,但我想知道的是它是否保证返回,或者在某些情况下是否不能返回?这对我的应用程序至关重要,但我还没有找到它不会返回的用例。我想获得有关该主题的专业知识。 最佳答案 其他答案中有许多不准确之处。当控制权正常离开tryblock时,控制权被传递到finallyblock——也就是说,通过return、goto、break、continue或简单地从末尾掉下来。当控制权离开tryblock时,控制权将通过已被封闭的catchblock捕获的异常传递给finallyblock。在任何其他情况下,都不能保证fin

c# - .NET Image.Save 偶尔会生成带有错误 IDAT block 的 PNG

我有一个我编写的C#/.NET实用程序,可以从磁盘加载PNG图像Bitmapb=Bitmap.FromStream(newMemoryStream(File.ReadAllBytes(filename)))asBitmap;对它们执行多种转换(旋转、缩放、alpha),然后根据应用的转换以不同的文件名将生成的PNG图像保存回磁盘b.Save(outputName,ImageFormat.Png);我已经使用该实用程序成功编写了数千个PNG。但是,有时其中一个PNG无法加载到使用libpng的单独程序中。在该程序中,libpng给出错误“找到太多IDAT”查看PNG文件会发现在文件末尾I

c# - 传递 ExceptionDispatchInfo 而不仅仅是 Exception 有什么意义?

我理解ExceptionDispatchInfo.Capture(e).Throw()的值(value)(保留原始堆栈跟踪),但是尽早使用Capture并通过ExceptionDispatchInfo周围与只是传递捕获的Exception周围?作为一个具体的例子,比较staticExceptionCaptureException(Actionaction){try{action();returnnull;}catch(Exceptione){returne;}}publicvoidTest1(){ExceptionDispatchInfo.Capture(CaptureExceptio

c# - 将 'Set Next Statement' 强制为 'if' block 时出现 CLR System.NullReferenceException

背景我承认这不是正常代码执行期间可能发生的事情,但我在调试时发现了它,并认为它很有趣,可以分享。我认为这是由JIT编译器引起的,但欢迎任何进一步的想法。我已经使用VS2013复制了这个针对4.5和4.5.1框架的问题:设置要查看此异常,必须启用CommonLanguageRuntimeExceptions:DEBUG>异常...我已将问题的原因提炼为以下示例:usingSystem.Collections.Generic;usingSystem.Linq;namespaceConsoleApplication6{publicclassProgram{staticvoidMain(){v

c# - 将 TypeScript 与内联服务器端 `<script>` block 和 ASP.Net 结合使用

我希望能够在ASPX(或Razor)页面中使用内联TypeScript,在页面编译时将其转换为Javascript。所以:...变成......它应该在@的同一时间发生或block被转换。这应该可以在运行时通过某种页面后处理实现,但不会在编译时生成异常-我想在发现脚本中的错误的同时发现任何C#代码。理想情况下,TypeScriptintellisense等应该在内联中工作block,这让我觉得这应该是一个VS2012扩展。有什么办法吗? 最佳答案 简短的回答是否定的。您可以编写一个TypeScript文件并将编译后的JavaScri