草庐IT

try-catch-repeat

全部标签

c# - 如何使用 try catch 进行异常处理是最佳实践

在维护我同事的代码时,即使是自称是高级开发人员的人,我也经常看到以下代码:try{//dosomething}catch{//Donothing}或者有时他们将日志记录信息写入日志文件,例如以下trycatchblocktry{//dosomework}catch(Exceptionexception){WriteException2LogFile(exception);}我只是想知道他们所做的是否是最佳实践?这让我感到困惑,因为在我看来,用户应该知道系统发生了什么。 最佳答案 我的异常处理策略是:通过Hook到Applicatio

c# - 如果我在 Try block 中返回值,Finally 语句中的代码会触发吗?

我正在为一位friend审查一些代码,并说他在try-finallyblock内使用了return语句。即使tryblock的其余部分没有触发,Finally部分中的代码是否仍然触发?例子:publicboolsomeMethod(){try{returntrue;thrownewException("test");//doesn'tseemtogetexecuted}finally{//codeinquestion}} 最佳答案 简单的回答:是的。 关于c#-如果我在Tryblock中

c# - 当不抛出异常时,try/catch block 会影响性能吗?

在与Microsoft员工进行代码审查时,我们发现try{}block中有一大段代码。她和一位IT代表建议这可能会影响代码的性能。事实上,他们建议大部分代码应该在try/catchblock之外,并且应该只检查重要的部分。微软员工补充说,即将发布的白皮书警告不要使用不正确的try/catchblock。我环顾四周,找到了它canaffectoptimizations,但它似乎只适用于范围之间共享变量的情况。我不是在问代码的可维护性,甚至不是在处理正确的异常(毫无疑问,有问题的代码需要重构)。我也不是指使用异常进行流量控制,这在大多数情况下显然是错误的。这些都是重要的问题(有些更重要),

JavaScript catch 子句作用域

ECMAScript5spec陈述如下:UsuallyaLexicalEnvironmentisassociatedwithsomespecificsyntacticstructureofECMAScriptcodesuchasaFunctionDeclaration,aWithStatement,oraCatchclauseofaTryStatementandanewLexicalEnvironmentiscreatedeachtimesuchcodeisevaluated.如果我的理解是正确的,那么当在JavaScript中创建一个新的词法环境时,就会进入一个新的作用域,这就是为什

javascript - 表格内带有自定义元素的 AngularJS ng-repeat 渲染异常

我试图在多个地方重新使用我的HTMLView的一部分。我想重新使用的部分是HTML表格中的表格单元格。问题是我在ng-repeat中的自定义指令正在做一些有趣的事情。我在jsFiddle上重现了这个问题.jsFiddle中有两个HTML表格。第一个是ng-repeat,在View中写入表格单元格,第二个是来自指令my-element的表格单元格。Chrome开发工具报告呈现的HTML如下所示。请注意,自定义元素只出现一次,并且在表格之外。呈现的HTMLtable1Name:MikeAge:20Name:PeterSAge:22table2Name:Age:源HTMLtable1Name

Javascript Try-Catch 性能对比。错误校验码

将代码放在try-catchblock中而不是执行各种错误检查会更快吗?例如..functiongetProjectTask(projectTaskId){if(YAHOO.lang.isUndefined(projectTaskId)||YAHOO.lang.isNull(projectTaskId)&&!YAHOO.lang.isNumber(projectTaskId)){returnnull;}varprojectPhaseId,projectPhaseIndex,projectTaskIndex,projectPhases,projectPhase,projectTask;i

javascript - 什么时候应该在 JavaScript 中使用 try/catch?

当我使用JavaScript开发普通的Web应用程序时,通常不需要try/catch语句。没有checkedexception,JavaScript中的文件IO或数据库连接。try/catch语句在JavaScript中有用吗?我什么时候可以使用它? 最佳答案 try...catchblock通常鼓励少用,这与您使用的语言无关。主要原因是catchblock的成本。另一个原因是,当您用一个try...catchblock包装许多语句时,在catchblock中您无法确定主要问题到底是什么.最好使用输入验证或if...elsebloc

javascript - 为什么在 try/catch 中重新声明参数会抛出 ReferenceError?

我错误地在函数中将参数重新声明为const而不是抛出SyntaxError:Identifier'bar'hasalreadybeendeclared我结束了与ReferenceError:barisnotdefined.。是什么导致了这种行为?这不是预期的错误,让我困惑了几分钟。示例代码:functionfoo(bar){try{console.log(bar);constbar=123;}catch(err){console.log(err)}}foo(456);如果我不将声明包装在try/catch中,我会得到(我认为是)预期的错误。 最佳答案

javascript - 为什么我不能在 try block 中定义之前使用 Javascript 函数?

讨论here,函数定义可以在定义之前使用。但是一旦一段代码被包裹在一个tryblock中,情况就不再是这样了。这会显示“Helloworld”:hello();functionhello(){alert("Helloworld");}但这会显示“ReferenceError:helloisnotdefined”:try{hello();functionhello(){alert("Helloworld");}}catch(err){alert(err);}因此,在函数声明方面,tryblock显然有一些“特殊”之处。有什么办法可以避免这种行为? 最佳答案

javascript - AngularJS:ng-repeat 动态列表,无需重建整个 DOM 树?

我在表行上使用ng-repeat,数据来自从服务器检索的JSON数组。我的目标是在服务器上添加、删除或修改项目时自动更新列表,而不影响未修改的项目。在最终实现中,这些表行还将包含双向绑定(bind)和元素将更新发送回服务器。中的一些可用选项元素也将使用来自另一个列表的ng-repeat指令生成,该列表也可能会发生变化。到目前为止,每次从服务器传来一个新的数组(目前每两秒轮询一次),整个ng-repeat列表都会被删除并重新生成。这是有问题的,因为它会干扰文本选择,即使用户当前正在编辑输入字段也会破坏输入字段,并且运行速度可能比必要的慢得多。我已经编写了其他Web应用程序来使用jQuer