草庐IT

EXCEPTION

全部标签

c# - 如果请求的实体在 Db 中不存在,我应该抛出哪个异常?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。想象一个方法,该方法尝试检索根据业务逻辑(对于特定情况)应该存在于Db中的实体。当我尝试通过我的存储库从Db检索它时,如果我返回null,我应该抛出哪个异常?(我在想ObjectNotFoundException)

c# - 为什么 'dynamic' ExpandoObject 抛出 RuntimeBinderException,即使它包含属性的定义?

使用以下示例代码:(VS2013,更新3)dynamicdemo=newExpandoObject();demo.Test=10;varj=demo.Test;//throwsexception调试此代码时,在VS中检查“当异常为:‘抛出’时中断”,然后尝试访问现有属性“测试”抛出RuntimeBinderException:System.Dynamic.ExpandoObject'doesnotcontainadefinitionfor'Test'注意:跳到下一行,变量j已正确设置为10。Q1:当Test属性肯定存在且值为10时,事实变量j证明成功设置该值,为什么会抛出异常?当我尝试

c# - 无法将 null 添加到可空列表

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:AddingnulltoaListcastasanIListthrowinganexception.ListlistONullables=newList();IListdegenericed=listONullables;//ThisworksfinelistONullables.Add(null);//Runtimeexception://"Thevalue""isnotoftype"System.Nullable`1[System.Int32]"//andcannotbeusedinthisgeneric

c# - LINQ to SQL Basic 插入引发 : Attach or Add not new entity related exception

我正在尝试插入一条记录。此代码有效但已停止工作我不知道为什么。这是代码:using(SAASDataContextdc=newSAASDataContext()){tblAssessmenta2=newtblAssessment();a2.AssessmentCentreId=centreId;a2.AttemptNumber=1;dc.tblAssessments.InsertOnSubmit(a2);dc.SubmitChanges();CurrentAssessmentId=a2.AssessmentId;}代码编译但在下面的dc.SubmitChanges();行抛出异常。抛出

c# - 为什么大多数异常都忽略特定于实例的信息?

我注意到大多数异常消息不包含特定于实例的详细信息,例如导致异常的值。他们通常只告诉您错误的“类别”。例如,当尝试用3rd序列化一个对象时。派对库,我收到一个MissingMethodException消息:"Noparameterlessconstructordefinedforthisobject."在很多情况下这就足够了,但通常(通常在开发过程中)会出现这样的消息"Noparameterlessconstructordefinedforthisobjectoftype'Foo'."可以直接找到错误原因,从而节省大量时间。InvalidArgumentException是另一个例子:

c# - 如何覆盖 Owin 中默认的未处理异常输出?

我使用Owin自托管和WebApi编写了简单的服务器:namespaceOwinSelfHostingTest{usingSystem.Threading;usingSystem.Web.Http;usingMicrosoft.Owin.Hosting;usingOwin;publicclassStartup{publicvoidConfiguration(IAppBuilderbuilder){varconfig=newHttpConfiguration();config.Routes.MapHttpRoute("Default","{controller}/{id}",new{id

c# - 异常消息应该存储在哪里

由于我不能以Microsoft作为最佳实践的示例,因为他们的异常消息出于必要而存储在资源文件中,我不得不问应该将异常消息存储在哪里。我想这可能是我想到的常见地点之一默认资源文件局部常量类常量全局异常消息类作为字符串文字内联 最佳答案 我可能会因此而被Gunicorn(好吧,被否决),但为什么不“在你创建异常的地方”?thrownewInvalidDataException("Awurblecan'tfollowaflurble");除非您要国际化异常消息(whichIsuggestyoudon't),否则您是否特别需要它们是常量等?

c# - Win32Exception 存储空间不足,无法处理此命令

通过我对MaxTo的自动崩溃收集我收到以下崩溃报告:V8.12.0.0-System.ComponentModel.Win32Exception-:VoidUpdateLayered():0Version:MaxTo8.12.0.0Exception:System.ComponentModel.Win32ExceptionErrormessage:NotenoughstorageisavailabletoprocessthiscommandStacktrace:atSystem.Windows.Forms.Form.UpdateLayered()atSystem.Windows.For

c# - 在没有try catch的情况下检查文件是否正在使用?

有没有一种方法可以检查文件是否正在使用或未被其他进程打开,而不仅仅是尝试打开它并捕获异常?没有服务方法可以测试这种东西吗? 最佳答案 即使有,它也不会对你有多大好处,因为你仍然必须捕获异常以处理在初始检查和实际尝试打开/访问之间文件变得不可用的竞争条件我想不出初步防御检查有什么令人信服的优势。它只会导致不必要的代码重复。如果有这样的IsFileAccessible函数,它可能会被实现为一个巨大的try/catchblock,该block试图打开文件,捕获失败并返回结果。 关于c#-在没有

c# - 您如何捕获 Web 服务抛出的 soap 异常?

我成功地在我的网络服务中抛出了一些soap异常。我想捕获异常并访问异常调用的字符串和ClientFaultCode。这是我在Web服务中的一个异常示例:thrownewSoapException("Youlosethegame.",SoapException.ClientFaultCode);在我的客户端中,我尝试从可能抛出异常的Web服务运行方法,然后我捕获了它。问题是我的catchblock没有做任何事情。看这个例子:try{service.StartGame();}catch{//missingcodegoeshere}如何访问抛出异常时调用的字符串和ClientFaultCod