草庐IT

EXCEPTION

全部标签

c# - 异常处理循环拼图

我最近遇到了一种我以前从未见过的行为。由于缺乏有关内部工作异常处理的基本知识,我无法完全理解最有可能发生的事情-或者我可能只是遗漏了一些明显的东西。我最近向应用程序添加了异常处理,作为未处理异常的一种后备。我基本上处理ThreadException和UnhandledException如下所示://AddtheeventhandlerforhandlingUIthreadexceptionstotheevent.Application.ThreadException+=newThreadExceptionEventHandler(ExceptionHandler.OnUIThreadE

c# - Image.Save 崩溃 : {"Value cannot be null.\r\nParameter name: encoder"}

我正在尝试将图像保存到MemoryStream中,但在某些情况下会失败。代码如下:以下代码成功:Imageimg=Bitmap.FromStream(fileStream);MemoryStreamms=newMemoryStream();img.Save(ms,img.RawFormat);//Thissucceeds.以下代码失败:Imageimg=Bitmap.FromStream(fileStream);Imagethumb=img.GetThumbnailImage(thumbWidth,thumbHeight,null,System.IntPtr.Zero);MemoryS

c# - 复合应用程序的最佳日志记录方法?

我正在创建一个包含多个不同项目(Shell、模块等)的复合WPF(Prism)应用程序。我正准备使用Log4Net实现日志记录。似乎有两种方法可以设置日志记录:让Shell项目执行所有实际日志记录。它获取对Log4Net的引用,其他项目触发复合事件让Shell知道它需要记录一些东西。这些项目仅针对在Shell的app.config文件中打开日志记录的级别(DEBUG、ERROR等)触发事件,以免降低性能。为每个项目(包括模块)提供一个Log4Net引用,并让项目自己记录到一个公共(public)日志文件,而不是将消息发送到Shell进行记录。哪种方法更好?或者,我应该考虑另一种方法吗?

c# - 哪些类型的异常不要捕获?

很多时候,有人提到只捕获我可以处理的异常(抛出、包装和/或记录,或执行一些其他操作)。哪些异常不能处理?这和不该抓是不是一样的意思?我知道不应该捕获可能表示对象引用为空的异常,因为它们是编程错误而不是用户引发的。还有其他例子吗?另一个是ExecutionEngineException。此外,catchblock中的操作过程是否总是在重新抛出、包装/重新抛出和记录之间?是否存在需要在catchblock中执行其他操作的情况?谢谢 最佳答案 通常的建议适用,只捕获你能处理的。框架内有一个名为IsCriticalException的实用函

c# - 在匿名类型的属性名称中使用异常(exception)字符(减号)

问题我正在尝试使用名为data-maxchars的属性声明一个匿名类型.因为减号是一个运算符,它将我想要的属性名称降级(?)为一个操作,我得到一个编译错误:Invalidanonymoustypememberdeclarator.我知道我可以使用@转义保留字,但我不知道是否有任何方法可以转义减号。objectattributes=(object)new{@class="foo"}//OK起源匿名类型作为object传递TextAreaExtensions.TextArea的参数:.这会生成一个具有传递属性的输入。我想使用JS渐进增强来限制用户可以插入的字符数。所以我正在使用data-我

c# - 如何在设计时避免 XAML 代码中出现 "object reference not set to an instance of an object"异常?

我自己设计的wpf用户控件有问题。问题是,当我在我的程序中实现用户控件时,在设计时XAML代码中出现objectreferencenotsettoaninstanceofanobject异常。设计师向我展示了以下信息:atMicrosoft.Expression.Platform.InstanceBuilders.InstanceBuilderOperations.InstantiateType(Typetype,BooleansupportInternal)atMicrosoft.Expression.Platform.InstanceBuilders.ClrObjectInstan

c# - 使用 Entity Framework 自动编号

我想遍历一组对象并将它们全部添加到一个表中。目标表有一个自增字段。如果我添加单个对象,则没有问题。如果我添加两个主键都为零的对象,EntityFramework将失败。我可以手动指定主键,但尝试EF的全部目的是让生活更轻松而不是更复杂。这是代码,随后收到异常。foreach(Contactcontactincontacts){Instructorinstructor=InstructorFromContact(contact);context.AddToInstructors(instructor);}try{context.SaveChanges();}catch(Exception

c# - 在 C# 中如何收集程序崩溃的堆栈跟踪

我是C#新手。我正在编写一个基于桌面表单的小型应用程序,我需要在应用程序中包含此功能。如果应用程序在任何时候崩溃,应用程序应该有最后一次机会收集堆栈跟踪并将其发回给我......请给我指示。我是否需要覆盖我应用程序主要入口点的trycatch?或者在C#应用程序中处理此类事情的最佳方式是什么。谢谢你, 最佳答案 要捕获所有未处理的异常,请将其添加到program.cs:[STAThread]staticvoidMain(){AppDomaincurrentDomain=default(AppDomain);currentDomain

c# - 为什么内置异常消息往往没有具体细节? (例如字典中的键)

我确定我已经在框架的各种异常消息中看到了这一点。我从MSDN库中查看了以下页面,但找不到有关消息内容的太多指导:ExceptionThrowingErrorMessageDesignException.MessageProperty第一页中唯一可以解释它的部分是这段文字:Donotdisclosesecurity-sensitiveinformationinexceptionmessageswithoutdemandingappropriatepermissions.这是Dictionary.Addmethod抛出的ArgumentException|这让我想起了这个问题。它看起来像这

c# - 可能有意重新抛出 Resharper 异常

考虑这种方法(请原谅ChuckNorris幽默的可悲尝试:)):publicclassChuckNorrisException:Exception{publicChuckNorrisException(){}publicChuckNorrisException(stringmessage):base(message){}publicChuckNorrisException(stringmessage,Exceptioncause):base(message,cause){}protectedChuckNorrisException(SerializationInfoinfo,Strea