草庐IT

try-catch-rethrow

全部标签

javascript - promise .catch() : how to identify the differences between operational rejects and programmatical throws

经过大量谷歌搜索后,我无法找到一个明确的示例,说明如何避免对每个catch进行编程以确定Promise拒绝错误是程序性错误还是操作性错误。将此与提供callback(error,params...)的Node回调模式进行比较,在error参数中明确提供操作错误,并通过抛出链处理编程错误。请告诉我我犯了一个菜鸟错误,对此我错过了一个简单的答案。编辑Nodev10.0.0现在通过添加错误代码解决了这个问题。感谢RisingStack将此发送到我的收件箱:https://blog.risingstack.com/node-js-10-lts-feature-breakdown...正式但相当

javascript - 为什么我的 jest.mock 中的 Promise reject() 会转到 then() 而不是 catch()?

我有两个文件,getItemInfo.js进行API调用,getItemInfo.test.js是相应的Jest测试文件。在测试文件中,我正在模拟由Node模块request-promise触发的http调用。问题在第二个代码块上,被*********包围。基本上为什么reject()错误仍然会在第二个单元测试中进入then()block?//getItemInfo.jsconstrp=require('request-promise');constgetItemInfo=(id)=>{constroot='https://jsonplaceholder.typicode.com/po

javascript - 属性检测 : Using 'in' versus trying to access property

不得不提:我知道一点JavaScript,但我不是很深入。一直认为这是检查对象上的属性是否可用的正确方法:if(window.console){//doSomething}昨天我看到了使用这种技术的代码:if('console'inwindow){//doSomething}这两种技术是否等同?还是他们有区别? 最佳答案 没有。他们有区别。第一个检查window.console的值是否为Truthy,第二个检查window中是否存在console属性。假设您创建了一个这样的变量。window.myName="";现在,if(wind

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 - 我可以在异步函数的 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 - 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专业

javascript - 在对象字面量周围使用 try catch

在回调中,我构建了一个我构建的对象以在我的Express应用中发送:this.response={owner:data.actions[1].causes[0].shortDescription,build_version:data.actions[0].parameters[0].value,branch_to_merge:data.actions[0].parameters[1].value,jira_tickets:data.actions[0].parameters[2].value,build_description:data.actions[0].parameters[3]