Articles of try catch

我如何做一个try / catch为我的特定API调用示例?

所以我的问题是非常具体的。 每当我从我的页面运行这个位,我得到一个错误,如果我不input我需要在API中search正确的ID。 由于查询string不正确,它不知道该做什么,因此无法进行有效的API调用。 如何redirect到不同的页面?如果有这样的错误,或者如何阻止它停止程序? 我假设有一个尝试在这里,但我尝试了多种不同的方式,我仍然困惑,因为它不工作。 请帮助! 我是新来的…这是片段。 如果“bnetID”不是有效的ID,则代码的请求部分是发生错误的地方。 如果它是有效的,它运行得非常好… // Make a GET request to the /results page (When submit is pressed) app.get("/results", function(req, res){ // Retrieve bnetID and REGION from the FORM var bnetID = req.query.bnetID; var region = req.query.region; // Replace the # with a – bnetID = bnetID.replace("#", "-"); // Create the […]

处理promise.reject尝试catch或promise.catch

我对承诺的理解并不完美。 所以我不确定哪个代码是正确的方式来处理错误和exception情况。 请帮我写正确的代码。 1。 尝试 – 赶上续集者的诺言 async function doGetAdminList(adminName) { let adminList; try { adminList = await sequelize.query( sqls.GET_ADMIN_LIST, { replacements: { adminName: adminName }, type: sequelize.QueryTypes.SELECT } ); } catch (e) { return Promise.reject({status:500, message: "SQL Error" }); } if (!adminList || !Object.keys(adminList).length) { log.info('\nadminList not found :\n'); return Promise.reject({status:400, message: 'adminList not […]

由于性能开销,replacenodejs中的try / catch

我目前正在使用try / catch来处理JSON.parse错误 。 但是我最近在阅读了一些最佳实践之后发现,在nodejs上使用try / catch有一些性能开销 。 性能开销是否已经被修正了,还有另一种避免JSON.parse错误而不使用try / catch的方法吗?

node.jserror handling。 将错误信息存储在err中,而不是自动将其打印到控制台

在下面的代码中,我创build了一个错误 db.collection('deals').findOne({"_id":"8976889"}) .then(function(dealsInfoResult){ throw Error("THIS IS THE ERROR"); return (dealsInfoResult); }) .catch(function(err){ console.log("ERRRR: " + err); res.send(err); }) }); 发生错误后, err没有任何错误信息,其为空。 而是“错误:这是错误”被打印如果有任何错误,我想错误存储在err中,以便我可以用我的方式处理它。

Express.js如何处理错误?

所以,这件小事。 我们知道,Express有内置的默认error handling程序,它需要四个参数(err,req,res,next)来处理像ReferenceError,TypeError等那样的“同步exception”: 更新:这个问题是特定于Express,而不是如何捕捉未处理的exception/等。 我想知道如何在第一个代码块Express可以处理用户定义的exception。 第二个例子与asynchronous。 exception不直接属于这个问题。 const express = require('express')(); express.all('*', (req, res) => { throw new Error('my own error'); res .send('okay?'); }); express.use((err, req, res, next) => { console.error(err.stack); res .status(503) .send('Express is still up and running'); }).listen(3000); 但不是这样的: const express = require('express')(); express.all('*', (req, res) => { process.nextTick(() => { throw new […]

有没有可能通过尝试连接到一个错误的url来捕获生成的exception?

使用节点http包似乎不可能赶上打开一个错误的URL造成的exception。 这是一个问题,因为它杀死了我想保证永远活着的群集 这里是代码:(使用fibers.promise) function openConnection(dest, port, contentType, method, throwErrorOnBadStatus) { "use strict"; assert.ok(dest, "generalUtilities.openConnection: dest is null"); //dest = dest.replace('//','/'); console.log('opening connection: ' + dest + " contentType: " + contentType); var prom = promise(), errProm = promise(), ar = [], urlParts = url.parse(dest), httpClient, req, got, res; //console.log('urlParts.port: ' + urlParts.port); if (port) { […]

被asynchronous函数引发的错误被捕获

我想使用asynchronous函数而不是返回一个承诺,但是要拒绝我需要抛出这样的错误: async function asyncOperation() { throw new Error("Terminate this application."); } (async () => { try { await asyncOperation(); } catch (e) { console.error(e); } console.log("Nope, I am still running!"); // This will be printed regardless })(); 这意味着要捕获拒绝,我必须把函数调用放在一个try语句中。 这样做,而不是终止应用程序,我赶上了错误,我可以继续下去。 这当然可以像你期望的那样工作,但是我想抛出一个错误来实际终止应用程序,而不pipe函数是否在try语句中被调用。 如何在不检查catch语句中的错误的情况下实现这一点?

我怎样才能访问其他尝试块try块中的variables?

http://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/在这个链接中,有一些代码可以在try catch中访问一个variables,但是当我尝试在我的服务器这是不行的,因为它超出了范围。 我怎样才能做到这一点? try { const foo = "bar" } catch (e) { console.log(e) } try { console.log(foo) -> is not defined } catch (e) { console.log(e) }

代码的作品,但最好的做法是有一个try / catch块内的承诺?

用Promise包装try/catch是不是很好? 我正在审查下面的代码,我似乎无法理解在Promise中使用try/catch块的必要性。 另外,为什么没有Promise拒绝的地方,正如你可以在catch块中看到Promise解决的那样。 请帮我理解这段代码,就最佳实践和效率而言,在Promise中有try/catch的意思。 我也非常感谢任何有关清理代码的build议。 getRoute(): any { return async (request: any, reply: any) => { const result = new Promise<string>( async (resolve, reject) => { try { let userIsValid = await this.validator.validate(request.payload, RegisterUserValidator); if (userIsValid.error) { resolve(responseHelper.getErrorResponse(ResponseErrorCode.joiValidatorError, userIsValid.error)); throw new ControlFlowNonError(); } let results = await this.authUser.registerUser(request.payload); resolve(responseHelper.getSuccessResponse(results, null)); } catch (error) { let […]

在nodejs中使用try catch是很好的

我只想知道在nodejs中使用try catch是否好。 例如,我正在使用节点js的encryption模块进行encryption和解密。 所以我正在处理任何错误,而encryption/解密在尝试赶上是一个很好的做法?????