这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Dotry/catchblockshurtperformancewhenexceptionsarenotthrown?大家好,只是一个关于try..catchblock的快速问题。我听说它们使用起来很昂贵,不应该用作程序流程的一部分。但是,为了验证电子邮件地址,我使用了以下代码。try{MailAddresscheckEmail=newMailAddress(testEmail);returntrue;}catch{returnfalse;}由于事先进行了验证,所以我不会捕获很多异常,除非是试图绕过验证。我的
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭9年前。Improvethisquestion我在SharePoint的自定义C#代码中嵌套了try-catchblock。当内部tryblock中的代码抛出异常时,我只想在一个catchblock(内部block)中执行代码。try{//dosomethingtry{//dosomethingifexceptionisthrown,don'tgotoparentcatch}catch(Exceptionex){...}}catch(Exce
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:try/catch+using,rightsyntax我想try/catch以下内容://writetofileusing(StreamWritersw=File.AppendText(filePath)){sw.WriteLine(message);}我是将try/catchblock放在using语句内,还是围绕它,或两者兼而有之?
为什么行不是“Console.WriteLine("asdf");”执行?其他都是。不应该也是因为我们不能跳出finally作用域吗?staticboolFunc(){try{try{}finally{try{thrownewApplicationException();}finally{Console.WriteLine("asd");}Console.WriteLine("asdf");}}finally{Console.WriteLine("asd");}} 最佳答案 Finallyblock仅保证(至少大部分保证,请参阅下面
我的Web服务在一个环境中运行良好,但在另一个环境中运行不佳。Web服务从SharePoint获取文档元数据,它在我无法调试的服务器上运行,但通过日志记录我确认该方法成功进入和退出。错误的原因可能是什么?错误信息是,Theformatterthrewanexceptionwhiletryingtodeserializethemessage:Therewasanerrorwhiletryingtodeserializeparameterhttp://CompanyName.com.au/ProjectName:GetDocumentMetaDataResponse.TheInnerExc
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion有时我这样做,我也看到其他人也这样做:VB:TryDontWannaCatchIt()CatchEndTryC#:try{DontWannaCatchIt();}catch{}我知道我应该捕捉每一个重要的异常我期待并对此采取一些措施,但有时它并不重要-还是我做错了什么?tryblock的这种用法是否不正确,并且要求至少有一个catch或finallyblock表明了这一点?更新:现在我明白
有谁知道如何在try/catchblock中不使用XmlDocument.LoadXml()之类的东西来检查字符串是否包含格式正确的XML?我得到的输入可能是XML,也可能不是XML,我希望代码能够识别输入可能不是XML而不依赖于try/catch,以提高速度和一般原则,即非特殊情况不应引发异常(exception)。我目前有执行此操作的代码;privateboolIsValidXML(stringvalue){try{//Checkweactuallyhaveavalueif(string.IsNullOrEmpty(value)==false){//Trytoloadthevalu
我想获取导致错误的代码的行号。例如;staticvoidMain(string[]args){using(SqlConnectionconn=newSqlConnection(bagcum)){SqlCommandcmd=conn.CreateCommand();cmd.CommandText="DONTINSERTintoGIVEMEERROR(CamNo,Statu)values("+23+","+0+")";conn.Open();intn=cmd.ExecuteNonQuery();}}所以我们知道代码不起作用,它会抛出异常代码的行号是:intn=cmd.ExecuteNonQ
在编写其第一优先级是永不崩溃的C#应用程序时,我应该多久使用一次try-catchblock?我可以将一个方法中的所有语句封装在try-catchblock中吗?publicvoidSomeMethod(){try{//entirecontentsofthefunction//librarycalls//functioncalls//variableinitialization..etc}catch(Exceptione){//recover}}将所有内容包装在try-catchblock中有什么缺点? 最佳答案 唯一的缺点是在实际
我正在使用ANTLR开发一个项目C#的解析器库。我已经构建了一个语法来解析一些文本并且效果很好。但是,当解析器遇到非法或意外标记时,它会抛出许多异常之一。问题是在某些情况下(不是全部)我的try/catchblock不会捕获它而是作为未处理的异常停止执行。我的问题是,除了在我的完整代码中,我无法在其他任何地方复制这个问题。调用堆栈显示异常肯定发生在我的try/catch(Exception)block中。我唯一能想到的是,在我的代码和抛出异常的代码之间发生了一些ANTLR汇编调用,而且这个库没有启用调试,所以我无法单步执行它。我想知道不可调试程序集是否会抑制异常冒泡?调用堆栈如下所示;