草庐IT

异常切换

全部标签

c# - 局域网多人场景切换

我是Unity的新手,目前正在尝试制作LAN多人RPG游戏。仅供引用,我遵循了官方统一局域网多人游戏指南,一切顺利。https://unity3d.com/learn/tutorials/topics/multiplayer-networking/introduction-simple-multiplayer-example到目前为止,我已经让玩家载入并且他们能够移动。我在下面编写了以下代码(在void更新例程下),这样当玩家移动时,它会每1秒随机分配一个介于1和50之间的数字,如果该数字是25,我们就随机“遇到了一个敌人”。当任何玩家遇到敌人时,我做到了,所以网络上的每个人都会去“战

c# - 异常 - 堆栈跟踪行号和消息不匹配

当出现问题时,我们会发现一些代码出现奇怪的问题-在某些情况下,异常消息和堆栈跟踪不匹配。我们有许多具有类似结构的消息处理程序,如下所示:publicvoidHandle(AddTelephoneNumbermessage){vardirectory=ClientService.Directory(Context).Result;varclient=ClientService.ClientLookup(message.ClientNumber,Context).Result;if(!client.Item1){//ClientdoesnotexistthrownewException("

c# - 异常类可见性?

我已经使用C#大约五年了,直到现在我才对自定义异常的类可见性感到震惊。像这样编写内部甚至私有(private)嵌套异常是完全合法的:internalclassWhyDoThis:Exception{}publicclassFoo{privateclassWhyWhyWhy:Exception{}}因此,当您打算在DLL中抛出这些异常时,只有(少数)人在进行正常的(非pokemon)异常处理时,他们的应用才会崩溃。所以我的问题是,这种模式的目的是什么?或者为什么这甚至是合法的? 最佳答案 一个简单的答案是:它和任何错误代码一样合法。我

c# - 在 Excel 中调用 WCF 方法切换 "context"并让 Word 继续 "work"

我的问题很难解释,因为我自己不能100%确定发生了什么。因此,我将尽力解释情况。只是一个警告,如果你希望有你必须查看的代码并尝试找出错误,恐怕我无法提供这样的东西,因为我面临的是一个更普遍的问题,而不是一个代码错误。那么……让我们开始吧我有一个Excel加载项、一个WPF应用程序和一个WCF服务器,它们都是我编写的,如果需要的话,我可以调整任何一侧。在我的Excel加载项中,我调用WCF服务器方法从WPF应用程序检索数据。打开Excel工作簿后,我的加载项将更新其值,并因此调用WCF服务器。这在用户“正常”打开Excel工作簿时工作正常,但在代码“自动”发生时失败。一个这样的场景是,提

c# - 字典 Getter 中的参数异常

我遇到了一个奇怪的情况,即以特定方式在C#字典上使用getter会产生参数异常,即使这应该是neverhappen.这个问题似乎只发生在我的电脑上。实际上,我已经找到了解决我原来问题的替代方案。但是我真的很想了解为什么原始解决方案不起作用。我有一个用于Solidworks插件的字典。它跟踪打开的文档及其事件处理程序。它是这样定义的:privateDictionary_openDocs=newDictionary();Solidworks有method检索事件文档。当我尝试使用它来检索事件文档的事件处理程序时,如下所示:_openDocs[SwApp.ActiveDoc]我得到这个Arg

c# - 包装和重新抛出异常会影响性能吗?

我在我的应用程序中遵循这种处理异常的方式。但是我的领导说我做错了。我只是包装并重新抛出相同的异常,这会影响性能。我的方法有什么问题?有没有人对我如何在这里记录和处理异常有任何建议?publicclassBusinessRepository:IBusinessRepo{publicListGetEmployees(){try{//dosomeDBoperations}catch(SQLExceptionsqlex){Logger.Log("Exceptiondetailwithfullstacktrace");thrownewDALException(sqlex,"Errorindata

c# - 包装一个 IEnumerable 并捕获异常

我有一堆类可以Process()对象,并返回它们自己的对象:publicoverrideIEnumerableProcess(IEnumerableincoming){...}我想编写一个处理器类来包装这些处理​​器之一,并记录包装的Process()方法可能抛出的任何未捕获的异常。我的第一个想法是这样的:publicoverrideIEnumerableProcess(IEnumerableincoming){try{foreach(varxinthis.processor.Process(incoming)){yieldreturnx;}}catch(Exceptione){Wri

c# - 如果任何参数为空,为什么 Enumerable.SequenceEqual 会抛出异常?

我正在尝试使用Enumerable.SequenceEqual(x,y)因为我希望它基于Object.Equals(x,y)方法,如果x或y为null,则返回false,如果两者均为null(对于null情况),则返回true。但是,如果任何参数为null引用,Enumerable.SequenceEqual(x,y)将抛出异常,如果给它两个null,则不会返回true。在我的代码中,我经常检查集合相等性,所以我创建了一个方法来模拟序列的Object.Equals行为,但我只是想知道这种默认行为背后的逻辑是什么,并且可能有一个现有方法没有空值异常? 最佳答案

C# 捕获 ThreadPool 上发生的异常

我正在调查我的应用程序中由Win32异常引起的一些崩溃,我已经缩小了它必须发生在处理EventLog.EntryWrittenEventHandler事件处理程序的线程池中的范围我的应用程序。我是这样设置的://CreatetheeventlogmonitoreventLog.Log="Application";eventLog.EnableRaisingEvents=true;eventLog.EntryWritten+=newEntryWrittenEventHandler(EventLogMonitor);EventLogMonitor是我的事件的处理程序。我想知道是否有人知道我

c# - 使用 FileIO.ReadTextAsync 从文件中读取文本时出现异常

尝试使用读取locl文本文件时出现以下异常vartext=awaitFileIO.ReadTextAsync(file);Thehandlewithwhichthisoplockwasassociatedhasbeenclosed.Theoplockisnowbroken.(ExceptionfromHRESULT:0x80070323)这发生在其中一个回归单元测试中,它也会不时发生在应用程序中。应用是XAML+C#知道是什么原因造成的吗?! 最佳答案 我遇到了同样的问题,是由并发线程引起的。我试图同时在两个地方访问同一个文件,但没