C#每次我运行我的程序时,我都会得到这个异常:但是当我在Debug模式下运行时,没有异常,程序运行正常,我该怎么办?注意:我没有在项目的任何地方使用invoke()编辑:好的,这是在详细信息中找到的代码:如果有人知道如何使用protoBuff,并且知道这个问题....**************ExceptionText**************System.Reflection.TargetInvocationException:Exceptionhasbeenthrownbythetargetofaninvocation.--->ProtoBuf.ProtoException:I
我想阅读大TXT文件,大小为500MB,首先我使用varfile=newStreamReader(_filePath).ReadToEnd();varlines=file.Split(new[]{'\n'});但它抛出内存异常,然后我尝试逐行读取,但在读取大约150万行后再次抛出内存异常using(StreamReaderr=newStreamReader(_filePath)){while((line=r.ReadLine())!=null)_lines.Add(line);}或者我用过foreach(varlinFile.ReadLines(_filePath)){_lines.A
我想在抛出异常时给自己发送一封电子邮件。使用StackFrame对象,我可以获得文件名、类名甚至抛出异常的类方法,但我还需要知道项目名称,因为我的许多ASP.NET项目具有相同的文件名、类名和方法.这是我的代码:publicstaticstringJndGetEmailTextForDebuggingExceptionError(thisExceptionEx){StackFramesf=Ex.JndGetStackFrame();stringOutputHTML="ForDeveloperUseOnly:"+""+""+"ProjectName:"+HttpContext.Curre
执行以下代码时出现异常。有什么想法吗?stringqueueName="FormatName:Direct=TCP:1.1.1.1\\Private$\\test";MessageQueuequeue;if(MessageQueue.Exists(queueName))queue=newSystem.Messaging.MessageQueue(queueName);elsequeue=MessageQueue.Create(queueName);queue.Send(sWriter.ToString());编辑:这是异常消息和堆栈跟踪的第一行Cannotdeterminewhethe
目前我遇到了一个我不明白的问题。我有一个wcf客户端,它同时通过多个线程调用wcf服务(都在同一台机器上)。有时,我会遇到众所周知的System.ServiceModel.CommunicationException“接收到xxx的HTTP响应时发生错误。这可能是由于服务端点绑定(bind)未使用HTTP协议(protocol)。这也可能是由于HTTP请求上下文被服务器中止(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。”,有时它会起作用。如果服务调用成功,这似乎完全是随机的。请求很小,只是一个(int,bool,enum)调用。该请求包含ca。来自MSSQL数据库的300-5
我经常发现自己以某种方式与文件交互,但在编写代码后,我总是不确定它实际上有多健壮。问题是我不完全确定文件相关操作会如何失败,因此也不确定处理异常的最佳方式。简单的解决方案似乎只是捕获代码抛出的任何IOExceptions并向用户提供“无法访问的文件”错误消息,但是否有可能获得更细粒度的错误信息?有没有办法确定文件被另一个程序锁定等错误与由于硬件错误导致数据不可读之间的区别?给定以下C#代码,您将如何以用户友好(尽可能提供信息)的方式处理错误?publicclassIO{publicListReadFile(stringpath){FileInfofile=newFileInfo(pat
试图回答thisquestion,我惊讶地发现当文件已经存在时尝试创建一个新文件不会抛出唯一的异常类型,它只会抛出一个通用的IOException。因此,我想知道如何确定IOException是现有文件的结果,还是其他一些IO错误。异常有一个HResult,但这个属性是protected,因此我无法使用。我能看到的唯一另一种方法是模式匹配感觉很糟糕的消息字符串。例子:try{using(varstream=newFileStream("C:\\Test.txt",FileMode.CreateNew))using(varwriter=newStreamWriter(stream)){/
调用XDocument.Load(XmlReader)时可能抛出哪些异常?当文档未能提供关键信息时,很难遵循最佳实践(即避免使用通用的trycatchblock)。预先感谢您的帮助。 最佳答案 MSDN说:LINQtoXML的加载功能建立在XmlReader之上。因此,您可能会捕获XmlReader抛出的任何异常。创建读取和解析文档的重载方法和XmlReader方法。http://msdn.microsoft.com/en-us/library/756wd7zs.aspxArgumentNullException和SecurityE
当任何ASP.NET项目(可能是任何.net应用程序)发生异常时,堆栈跟踪将显示开发人员计算机上的路径,即使在生产中也是如此。怎么改?引擎盖下发生了什么? 最佳答案 此信息存储在源代码编译期间生成的.PDB文件中。它们包含调试信息。但通常人们不会在将应用程序投入生产之前在他们的机器上编译应用程序。他们使用持续集成并构建专用于此目的的服务器。现在,如果您想关闭调试细节,您可以在项目的属性中配置详细级别和调试信息。 关于c#-异常显示开发人员的路径而不是服务器,我们在StackOverflo
在C#中实现ISerializable接口(interface)时,我们提供了一个构造函数,它接受一个SerializationInfo对象,然后用各种GetInt32查询它,GetObject等方法来填充我们试图反序列化的对象的字段。实现此接口(interface)而不是仅仅使用[Serializable]属性的一个主要原因是为了向后兼容:如果我们在某个时候向类添加了新字段,我们可以捕获SerializationException由类的序列化旧版本抛出,并以适当的方式处理它们。我的问题如下:为什么我们必须将这些异常用于本质上控制流?如果我正在反序列化大量之前保存的类,则每个类中的每个