草庐IT

try-else

全部标签

javascript - TypeScript/Angular try catch,try block 中的任何错误都不会捕获 block

我正在使用Angular和TypeScript。我已经使用trycatch构造在API调用的情况下进行错误处理。如果在tryblock中发生任何错误,它根本不会进入catchblock。应用程序仅在那里终止。我也尝试过使用throw。这是一个示例代码片段,try{this.api.getAPI(Id).subscribe(//this.apiismyapiserviceandgetAPIispresentthere(data:any)=>{if(data==null){throw'Emptyresponse';}},(error:HttpErrorResponse)=>{console

javascript - 你如何冒出错误,以便它们可以在同一个 try/catch block 中被捕获?

我有一个带有抛出错误的函数的对象,myObj={ini:function(){this.f();},f:function(){thrownewError();}};但我只想捕获创建对象的异常try{varo=newmyObj();}catch(err){alert("error!");}看起来我必须到处都有try/catchblock=/以捕获不同函数范围内的错误事件try{myObj={ini:function(){try{this.f();}catch(err){alert("fthrewanerr");}},f:function(){thrownewError();}};}cat

javascript - 在 if/else 中使用条件值

我想知道是否可以像下面的示例那样直接访问条件的值。vara=["pear","kiwi","orange","apple"]if(a.indexOf("orange")!==-1){console.log(this)//asa.indexOf("orange")hasbeenevaluatedalreadyabovethisprints2}这也会使三元运算符不那么臃肿vara=["pear","kiwi","orange","apple"]varb=((a.indexOf("orange")!==-1)?this:'')//"this"equals2谢谢编辑:为任何future的访客清

javascript - 我可以在异步函数的 try/catch block 中使用多个 'await' 吗?

即asyncasyncfunction(){try{awaitmethod1();awaitmethod2();}catch(error){console.log(error);}}给定method1()和method2()是异步函数。每个await方法都应该有一个try/catchblock吗?有没有更简洁的方式来写这个?我试图避免“.then”和“.catch”链接。 最佳答案 当等待在await一元运算符右侧创建的promise时,使用一个包含多个await操作的try/catchblock很好:await运算符存储其父asy

javascript - Bluebird.JS Promise : new Promise(function (resolve, reject){}) vs Promise.try(function(){})

我什么时候应该使用哪个?以下是一样的吗?新的Promise()示例:functionmultiRejectExample(){returnnewPromise(function(resolve,reject){if(statement){console.log('statement1');reject(thrownewError('error'));}if(statement){console.log('statement2');reject(thrownewError('error'));}});}Promise.try()示例:functiontryExample(){return

javascript - 我可以将 `else if` 与三元运算符一起使用吗?

我可以只使用if吗?和else在三元运算符语法的语句中,或者我也可以以某种方式包含elseif?例子:if(a){x}elseif(y){c}else{b} 最佳答案 与带有可选else或可选elseif分支的if不同,三元运算符有两个且只有两个分支。它实际上是名称的一部分。其中a+b中的+是一个二元运算符,即它有两个operands,?有三个,如a?b:c,因此被称为三元。从技术上讲,可能还有?之外的其他三元运算符,但在大多数语言中它们并不存在,因此通常理解名称“三元”表示?运算符。如果您对第二个子句进行子分支,您可以拥有类似el

javascript - 为什么这个javascript 'If... Else...'语句中没有比较语句

在下面的代码中var$next=$active.next().length?$active.next():$('#slideshowIMG:first');'$active.next().length'部分似乎没有比较任何东西,我不明白条件是如何确定为True或False的。或者是说:如果各种$next等于$active.next().length则条件为真? 最佳答案 在javascript中,任何表达式都可以转换为真值或假值,因此在比较位置是有效的。在javascript中为false的值是错误0""(空字符串)null未定义N

javascript - 如何在 JavaScript 的箭头函数中使用 if-else 条件?

是否可以使用箭头函数在JavaScript中使用ifelse条件? 最佳答案 箭头函数可以简单地看作是常规函数的简洁版本,除了隐含的return(还有一些其他微妙的事情你可以阅读here)。使用if/else的一种好方法是通过ternary.采用这个常规函数:function(a){if(a使用三元的箭头函数中的等价物是:a=>(a 关于javascript-如何在JavaScript的箭头函数中使用if-else条件?,我们在StackOverflow上找到一个类似的问题:

javascript - window.onerror 和 try-catch block 处理错误的区别

我正在考虑使用window.onerror与try{...}catch(e){...}block来处理JavaScript运行时错误。https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onerror状态:Notethatsome/manyerroreventsdonottriggerwindow.onerror,youhavetolistenforthemspecifically.看来window.onerror和try{...}catch(e){...}都可以处理ReferenceError:ht

javascript - GruntJS 中的 Try-Catch 任务

有没有办法在GruntJS任务失败时捕捉并采取行动?--force标志没有帮助,因为我需要知道过程中是否出现问题,并采取措施解决。我尝试了一些类似于try-catch的安排,但它不起作用。这是因为grunt.registerTask将任务插入队列-执行不是同步的。grunt.registerTask('foo',"Myfootask.",function(){try{grunt.task.run('bar');}catch(ex){//Handlethefailurewithoutbreakingthetaskqueue}});欢迎有创意的javascript想法以及GruntJS专业