草庐IT

EXCEPTION

全部标签

c# - 奇怪的系统.__佳能异常(exception)

我有一个使用单例类的Windows服务ThreadQueue.当服务启动时,它会调用ThreadQueue.Start()然后,此类接受任务并将其排队,将并发性限制为可配置的线程数。ThreadQueue.Start()在服务启动时被调用一次。有时,服务运行几个小时后,我会收到以下异常:Application:myservice.exeFrameworkVersion:v4.0.30319Description:Theprocesswasterminatedduetoanunhandledexception.ExceptionInfo:System.NullReferenceExcep

c# - BitmapFrame.Create 异常(WPF 框架中的错误?)

我实现了一个C#应用程序,它以30fps的帧速率接收帧RGB。帧到达事件是用这段代码管理的:voidclient_ColorFrameReady(objectsender,ColorFrameReadyEventArgse){mycounter++;Console.WriteLine("newframereceived:"+mycounter);if(writer!=null){count++;if(count%2==0){using(varframe=BitmapImage2Bitmap(e.ColorFrame.BitmapImage))using(varthumb=ResizeB

c# - 抛出正确类型的异常

在我的代码中,我经常遇到这样的情况:publicvoidMyMethod(stringdata){AnotherClassobjectOfAnotherClass=GetObject(data);if(objectOfAnotherClass==null)thrownewWhatExceptionType1("objectOfAnotherClassisnull.");if(objectOfAnotherClass.SomeProperty假设GetObject使用了一些不受我控制的外部库,如果没有data的对象,这个库返回null存在并将负SomeProperty视为有效状态,因此不

c# - 为参数的未处理的 switch case 抛出正确的异常?

注意:这与建议的重复项不同,因为它处理的是参数而不是值。行为和适用场景有本质区别。假设我们有SomeEnum并且有一个switch语句来处理它:enumSomeEnum{One,Two,}voidsomeFunc(SomeEnumvalue){switch(value){caseSomeEnum.One:...break;caseSomeEnum.Two:...break;default:thrownew??????Exception("Unhandledvalue:"+value.ToString());}}如您所见,我们处理了所有可能的枚举值,但仍保留默认值并抛出异常,以防添加新成

c# - 异常: 'system.data.sqlclient.sqlconnection' 的类型初始值设定项?

我无法弄清楚这个异常的问题是什么。Thetypeinitializerfor'System.Data.SqlClient.SqlConnection'threwanexception第一次尝试:我正在使用WCF服务制作一些小应用程序。它工作得很好,我可以正确使用LINQ。2或3天后。也许在我关闭VisualStudio并再次加载项目之后。出现异常。第二次尝试也是一样。我创建了另一个项目,它工作得很好,直到我做其他事情(我没有更改任何代码)SQLServer工作正常,我可以毫无问题地通过SQLManagementStudio进行连接。单击“调试错误”将我带到来自linq文件的连接字符串。

c# - 为什么 C# 编译器不捕获 InvalidCastException

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Compile-timeandruntimecastingc#据我了解,以下代码将始终编译,并且还会始终在运行时通过抛出InvalidCastException失败。例子:publicclassPost{}publicclassQuestion:Post{}publicclassAnswer:Post{publicvoidFail(){Postp=newPost();Questionq=(Question)p;//ThiswillthrowanInvalidCastException}}我的问题是...如果我

c# - 异常消息是否应该全局化

我正在做一个项目,我刚刚开始做所有必要的工作来全局化应用程序。经常出现的一件事是是否全局化异常消息,但确保string.Format使用CultureInfo.CurrentCulture而不是CultureInfo.InvariantCulture。此外,这意味着异常消息将存储在可标记为特定于文化的资源文件中。所以问题是,异常消息应该全局化还是应该留在InvariantCulture或作者所在的国家;在我的例子中是en-US。 最佳答案 异常消息应该很少直接显示给用户。您需要考虑每个字符串的使用者。显然,用户界面中的文本片段需要国

c# - 在 .Net 2.0 中关闭 SerialPort 时出现 ObjectDisposedException

我有一个C#windows窗体应用程序,它通过COM端口与USBdongle通信。我使用.Net2.0中的SerialPort类进行通信,并且串行端口对象在应用程序的生命周期内处于打开状态。应用程序向设备发送命令,也可以从设备接收未经请求的数据。我的问题发生在窗体关闭时-我在尝试关闭COM端口时(不幸的是随机地)得到一个ObjectDisposedException。这是Windows堆栈跟踪:System.ObjectDisposedExceptionwasunhandledMessage=SafehandlehasbeenclosedSource=SystemObjectName=

C# 我应该引发什么样的异常?

我目前正在trycatch中查找属性是否已正确设置为应该像这样的bool值...publicvoidRunBusinessRule(MyCustomTypecustomType){try{if(customType.CustomBoolProperty==true){DoSomething();}else{thrownewException("Thisisobviouslyfalseorpossiblynullletsthrowupanerror.");}}catch(Exception){throw;}}现在对我抛出这个错误的处理是我正在使用微软的源代码分析,它给了我一个错误,指出“

c# - 抛出异常后继续循环迭代

假设我有这样的代码:try{for(inti=0;i现在,很明显执行将在i==2停止,但我想让它完成整个迭代,以便在errorLog中有两个条目(对于i==2和i==4)那么,是否可以在抛出异常的情况下继续迭代? 最佳答案 只需将catch的范围更改为在循环内,而不是在循环外:for(inti=0;i 关于c#-抛出异常后继续循环迭代,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions