jjzjj

c# - 在 try & catch 中返回与在 finally 中返回?

其中任何一个都有风险吗?一个更好吗?或者它是您打印出来并throw飞镖来决定的那些东西之一?既然我了解了finally的工作原理,我就想这样做:try{stuffthatchangessomething...}catch(System.Exceptionex){something.worked=false;something.err=ex.Message;}finally{stuff.close();returnsomething;}但我见过:try{stuffthatchangessomething...returnsomething;}catch(System.Exceptione

c# - 你能设置 VS2008 中断 try-catch 语句中的错误吗

我喜欢VB6的一个原因是,无论您设置了何种错误处理,您都能够告诉开发环境在所有错误上中断。是否可以在VS2008中做同样的事情,以便调试器在出现任何错误时停止,即使它发生在try-catch语句中?当您处理一个包含500条记录的文件并且其中一条记录失败时,问题尤其严重-谁知道是哪条记录-您不想修改代码以便您的for计数器在该记录之外初始化for循环-这是草率的长期。您只希望调试器知道由于您在某处放置的某些设置而停止。 最佳答案 是的,转到“调试”菜单,选择“异常...”,为“公共(public)语言运行时异常”勾选“抛出”

c# - 具有返回类型的 try-catch block

如果我有一个返回某些东西的方法,比如publicDataTableReturnSomething(){try{//logicherereturnds.Tables[0];}catch(Exceptione){ErrorString=e.Message;}}这会产生编译器错误,显然是因为catch{}block没有返回任何内容。所以当我有带返回值的方法时,我不使用try-catchblock,这是一种不好的做法。如果有错误,我想将错误字符串设置为该错误。但是我也需要一个返回值。建议? 最佳答案 像这样将返回值存储在临时变量中:publ

c# - 在没有单独的 try-catch block 的情况下 try catch 每一行代码

我目前没有这个问题,但你永远不知道,思想实验总是很有趣。忽略你的体系结构必须要尝试这样做的明显问题,让我们假设你有一些别人设计的可怕的代码,你需要做一个在同一代码块中进行大量不同的操作,例如:WidgetMaker.SetAlignment(57);contactForm["Title"]=txtTitle.Text;Casserole.Season(true,false);((RecordKeeper)Session["CasseroleTracker"]).Seasoned=true;乘以一百。其中一些可能有效,另一些可能会出现严重错误。您需要的是“onerrorresumenex

c# - 为什么 catch block 中的 "throw"和 "throw ex"表现相同?

我读到在catchblock中时,我可以使用“throw;”重新抛出当前异常。或“抛出前;”。发件人:http://msdn.microsoft.com/en-us/library/ms182363%28VS.80%29.aspx“要保留异常的原始堆栈跟踪信息,请在不指定异常的情况下使用throw语句。”但是当我尝试这个时try{try{try{thrownewException("test");//13}catch(Exceptionex1){Console.WriteLine(ex1.ToString());throw;//16}}catch(Exceptionex2){Conso

C# - Try-Catch-Finally 返回

这个问题在这里已经有了答案:WillcodeinaFinallystatementfireifIreturnavalueinaTryblock?(12个答案)关闭7年前。我有以下代码:publicDataTableGetAllActiveUsers(){DataTabledataTable=newDataTable();try{connection.Open();SqlCommandgetAllActiveUsersCommand=newSqlCommand(getAllUsers,connection);SqlDataAdapterdataAdapter=newSqlDataAdap

c# - 在 try catch block 中对 IDisposable 使用 block 是否有任何问题?

MSDNrecommends将实现IDisposable的类的任何实例化放入usingblock中。或者,如果它在try-catchblock中被实例化,则在Finally中执行Dispose。像这样在try-catchblock中使用usingblock有什么问题吗?try{using(Foobar=newFoo()){bar.doStuff();}}catch(Exceptione){//vomite}当然,我可以在Finallyblock中调用Dispose,但我是编程新手,我只是想知道是否做这样的事情这实际上是可以接受的,或者如果有人会拍打我的后脑勺并对我大喊我Doing-It

C# 在 try catch 的 catch 中使用 Continue

现在,我在continue语句方面遇到了一个大问题。FetchUnseenMessages可能会或可能不会返回错误,具体取决于它是否能够连接到指定的电子邮件帐户。如果FetchUnseenMessages失败,我希望continue语句返回到foreach语句中的下一个项目(尝试下一个电子邮件帐户)。我得到了一些意想不到的结果。我不相信continue语句会转到foreach语句中的下一项,而是返回到try语句的开头并再次尝试。我整天都被困在这个问题上,而且我很困。请帮忙。谢谢,克里斯。foreach(stringlinlUserName){try{newMessages=FetchU

c# - 这是捕获非特定异常(例如 System.Exception)的坏习惯吗?为什么?

我目前正在进行代码审查,下面的代码让我大吃一惊。我看到此代码存在多个问题。你是否同意我的观点?如果是这样,我该如何向我的同事解释这是错误的(顽固型...)?捕获一般异常(Exceptionex)使用“if(exissomething)”而不是另一个catchblock我们吃SoapException、HttpException和WebException。但是,如果Web服务失败,则没有什么可做的。代码:try{//CalltoaWebService}catch(Exceptionex){if(exisSoapException||exisHttpException||exisWebEx

c# - 什么更好/更快? try catch 或避免异常?

我想知道,在通用编程中什么更好或/和更快?避免异常还是等待异常?避免异常是:stringa=null;list=someMethod();if(list.Length>0){a=list[0];}if(a!=null)...或者trycatch异常...stringa=null;try{a=someMethod()[0];catch{}if(a!=null)... 最佳答案 性能并不是这里最相关的问题。问题是,两者中的哪一个会导致程序更具可读性/可维护性/可测试性。您可以稍后再担心性能。一般来说,不要使用异常来进行流量控制。它们实际