Tag: try catch

尝试捕获每行代码而不使用单独的try-catch块

我目前没有这个问题 ,但你永远不知道,并认为实验总是很有趣。 忽略你的架构甚至要尝试这个问题所必须遇到的明显问题 ,让我们假设你有一些别人设计的可怕编写代码,你需要在相同的代码中做一堆广泛而多样的操作阻止,例如: WidgetMaker.SetAlignment(57); contactForm[“Title”] = txtTitle.Text; Casserole.Season(true, false); ((RecordKeeper)Session[“CasseroleTracker”]).Seasoned = true; 乘以一百。 其中一些可能有效,另一些可能会出错。 你需要的是C#相当于“on next resume next”,否则你将最终复制并粘贴许多代码行的try-catches。 你会如何解决这个问题?

是否存在阻止Response.Redirect在try-catch块内工作的东西?

我在response.redirect()遇到了一些奇怪的错误,而且项目根本没有构建..当我删除了围绕代码块的try-catch块时, Response.Redirect()在其中正常工作.. 只是想知道这是一个已知的问题还是什么……

如何获取导致exception的方法的名称

我的代码如下所示。 try { _productRepo.GetAllProductCategories(); } catch (Exception ex) { //Do Something } 我需要一种方法来显示方法名称,假设在上面的例子中,如果在GetAllProductCategories()方法中抛出任何exception,我需要获取此方法名称,即“GetAllProductCategories()”作为我的结果。 谁能建议我怎么做?

Catch vs Catch(例外e)和Throw vs Throw e

这两个代码示例是否相同? Catch and Catch(Exception e)具有相同的输出,如果我写Throw或Throw e ,结果也是相同的。 主要: try { A(); //B(); } catch (Exception e) { Console.WriteLine(“{0} exception caught.”, e); } 代码1: static void A() { try { int value = 1 / int.Parse(“0”); } catch (Exception e) { throw e; } } 代码2: static void A() { // Rethrow syntax. try { int […]

C#编译器应该发出警告但不是吗?

我的团队中有人尝试在空catch子句中修复“未使用变量”警告。 try { … } catch (Exception ex) { } – >发出关于ex未被使用的警告。 到现在为止还挺好。 修复是这样的: try { … } catch (Exception ex) { string s = ex.Message; } 看到这个,我想“很棒,所以现在编译器会抱怨没有被使用。” 但事实并非如此! 这段代码没有警告,我无法弄清楚原因。 有任何想法吗? PS。 我知道将exception静音的全能条款是一件坏事,但这是一个不同的话题。 我也知道通过做这样的事情可以更好地消除初始警告,这也不是重点。 try { … } catch (Exception) { } 要么 try { … } catch { }

堆栈跟踪上的行号错误

我有这个代码 try { //AN EXCEPTION IS GENERATED HERE!!! } catch { SqlService.RollbackTransaction(); throw; } 上面的代码在此代码中调用 try { //HERE IS CALLED THE METHOD THAT CONTAINS THE CODE ABOVE } catch (Exception ex) { HandleException(ex); } try { //HERE IS CALLED THE METHOD THAT CONTAINS THE CODE ABOVE } catch (Exception ex) { HandleException(ex); } 作为参数传递给方法“HandleException”的exception包含堆栈跟踪中“throw”行的行号,而不是生成exception的实际行。 任何人都知道为什么会发生这种情况? […]

在.NET中使用try-catch进行流量控制是“不好的”吗?

我刚刚在一个项目中找到: try { myLabel.Text = school.SchoolName; } catch { myPanel.Visible = false; } 我想与开发人员交谈,而不是写这个,说发生nullexception(因为school理论上可能是null,而不是myLabel )实际上会使计算机发出三次哔声并睡两秒钟 。 但是,我想知道我是否错过了关于这一点的规则。 显然,这不是try / catch的预期用途,但这是不好的,因为它因性能考虑而无视意图或不好? 我觉得这很糟糕,但我想说的不仅仅是“那真的很糟糕”。

何时使用try / catch块?

我已完成阅读并了解Try / Catch块的作用以及使用它的重要性。 但我坚持知道何时/何地使用它们。 任何建议? 我将在下面发布我的代码示例,希望有人有时间为我的示例提出一些建议。 public AMPFileEntity(string filename) { transferFileList tfl = new transferFileList(); _AMPFlag = tfl.isAMPFile(filename); _requiresPGP = tfl.pgpRequired(filename); _filename = filename.ToUpper(); _fullSourcePathAndFilename = ConfigurationSettings.AppSettings.Get(“sourcePath”) + _filename; _fullDestinationPathAndFilename = ConfigurationSettings.AppSettings.Get(“FTPStagePath”) + _filename; _hasBeenPGPdPathAndFilename = ConfigurationSettings.AppSettings.Get(“originalsWhichHaveBeenPGPdPath”); } public int processFile() { StringBuilder sb = new StringBuilder(); sb.AppendLine(” “); sb.AppendLine(” ——————————–“); sb.AppendLine(” Filename: ” + […]