草庐IT

throw_exception

全部标签

c# - 通过等待任务或访问其 Exception 属性未观察到任务的异常。结果,未观察到的异常是

这是什么意思,如何解决?我正在使用TPL任务。整个错误ATask'sexception(s)werenotobservedeitherbyWaitingontheTaskoraccessingitsExceptionproperty.Asaresult,theunobservedexceptionwasrethrownbythefinalizerthread.atSystem.Threading.Tasks.TaskExceptionHolder.Finalize()mscorlib 最佳答案 如果您创建了一个任务,并且您从未调用过

c# - 无效泛型类型参数的最佳异常(exception)

我目前正在为UnconstrainedMelody编写一些代码它具有与枚举有关的通用方法。现在,我有一个带有一堆方法的静态类,这些方法仅旨在与“标志”枚举一起使用。我不能将其添加为约束...因此它们也可能会被其他枚举类型调用。在那种情况下,我想抛出一个异常,但我不确定抛出哪一个。只是为了使这个具体化,如果我有这样的东西://ReturnsavaluewithallbitssetbyanyvaluespublicstaticTGetBitMask()whereT:struct,IEnumConstraint{if(!IsFlags())//Thismethoddoesn'tthrow{t

c# - try/catch/throw 和 try/catch(e)/throw e 的区别

有什么区别try{}catch{throw;}和try{}catch(Exceptione){throwe;}?我应该什么时候使用其中之一? 最佳答案 结构try{...}catch(){...}/*Youcanevenomitthe()here*/try{...}catch(Exceptione){...}的相似之处在于两者都会捕获tryblock中抛出的每个异常(并且,除非您只是简单地使用它来记录异常,否则应该是避免)。现在看看这些:try{...}catch(){/*...*/throw;}try{...}catch(Exce

c# - Exception.Message 与 Exception.ToString()

我有记录Exception.Message的代码。但是,我读了一篇文章,其中指出最好使用Exception.ToString()。使用后者,您可以保留有关错误的更多重要信息。这是真的吗?继续替换所有代码记录Exception.Message是否安全?我还为log4net使用基于XML的布局.Exception.ToString()是否可能包含无效的XML字符,这可能会导致问题? 最佳答案 Exception.Message仅包含与异常关联的消息(doh)。示例:Objectreferencenotsettoaninstanceofa

c# - 如何使用 Assert.Throws 断言异常类型?

如何使用Assert.Throws断言异常类型和实际消息措辞?像这样:Assert.Throws(()=>user.MakeUserActive()).WithMessage("Actualexceptionmessage")我正在测试的方法抛出多条相同类型的消息,但消息不同,我需要一种方法来测试是否根据上下文抛出正确的消息。 最佳答案 Assert.Throws返回抛出的异常,让您可以对异常进行断言。varex=Assert.Throws(()=>user.MakeUserActive());Assert.That(ex.Mess

c# - 如何在 .NET 中无一异常(exception)地打印当前堆栈跟踪?

我有一个常规的C#代码。我没有异常(exception)。我想以编程方式记录当前堆栈跟踪以用于调试目的。示例:publicvoidexecuteMethod(){logStackTrace();method();} 最佳答案 看看System.Diagnostics命名空间。里面有很多好东西!System.Diagnostics.StackTracet=newSystem.Diagnostics.StackTrace();深入了解幕后情况真是太好了。我建议您查看日志记录解决方案(例如NLog、log4net或Microsoft模式和

c# - "throw"和 "throw ex"之间有区别吗?

有些帖子询问这两者之间的区别。(为什么我要提这个...)但我的问题在某种程度上有所不同,我在另一个错误神级处理方法中调用了“throwex”。publicclassProgram{publicstaticvoidMain(string[]args){try{//something}catch(Exceptionex){HandleException(ex);}}privatestaticvoidHandleException(Exceptionex){if(exisThreadAbortException){//ignorethen,return;}if(exisArgumentOut

javascript - throw Error 和 console.error 有什么区别

这两个语句之间有什么区别,是否有充分的理由使用一个而不是另一个?throwError("msg");console.error("msg");以我有限的经验,我只真正看到使用过throwError()。有什么特别的原因吗?此外,是否有以相同方式等效于console.warn()的方法? 最佳答案 throw...在当前代码块中引发异常并导致异常退出,或者如果在try中引发异常则流向下一个catch语句block。console.error只是向浏览器开发人员工具javascript控制台打印一条红色消息,不会导致执行流程发生任何变化

javascript - SYNTAX_ERR : DOM Exception 12 - Hmmm

我一直在为使用HTML5Rock的Slideshowcode的客户制作小型幻灯片/公开展示.我遇到了一个DOM异常12-一个据称与CSS选择器相关的语法错误-在四处闲逛时......但我无法追溯到我在代码中所做的任何更改。我想这可能是我添加功能时发现的东西。我已经追踪到这个对象(实时版本here):varSlideShow=function(slides){this._slides=(slides||[]).map(function(el,idx){returnnewSlide(el,idx);});varh=window.location.hash;try{this.current=

javascript - JavaScript 中的 "throw new Warning"?

目前我正在用错误处理扩展我的JavaScript项目。throw语句在这里发挥着重要作用:thrownewError("text");//Error:text但是,我也可以发出警告吗?我尝试了以下无济于事:thrownewWarning("text");//Warningisnotdefined错误使Chrome的开发者工具显示一个红叉,但我怎样才能让它显示一个警告图标(黄色感叹号)? 最佳答案 像这样:console.warn('Hi!');请注意,与异常不同,这不会中断您的代码;调用函数将正常继续。另请注意,这将在除WebKit