草庐IT

catching

全部标签

c++ - 为什么在 C++ 中使用 try 和 catch()?

我明白try和catch()用于异常处理,以防程序在某些情况下发生错误或崩溃。我也明白他们是如何工作的。但是为什么要用try和catch()?为什么不直接使用if()查找特定案例的语句,如果该案例为真,则执行cout? 最佳答案 异常处理:可以与没有机会返回单独错误代码的构造函数和运算符一起使用(它们可以将对象设置为某种错误状态——这意味着进一步的内存使用——但客户端代码也必须记住检查该错误稍后说明)例如:用户定义的类型-类X-支持符号x1=x2+x3-错误代码可以在哪里返回?可以在初始化列表中构造特定的类/结构数据成员时启动——避

c++ - 仅当某个编译时表达式为真时才尝试 {.... } catch(..)

这是我们正在努力做的try{std::uninitialized_copy(...);}catch(...){if(!boost::has_trivial_destructor::value){//somecleanuptodohere...}throw;}如果if中的编译时常量为假,我们想知道try/catch是否有成本。编译器能否在其“as-if”权限内删除trycatch并表现得好像std::uninitialized_copy调用出现时没有try围绕它?或者是否有隐藏在C++规范中的东西要求编译器将它留在这里?例如,想象一个假设的surrounding_try_blocks()

c#monitor.exit in try/catch

我正在对旧源代码进行故障排除,并遇到了这样的声明:if(Monitor.TryEnter(lockObj)){try{//doessomethingif(failing_condition){Monitor.Exit(lockObj);thrownewException("Oops!");}catch(Exceptionex){throwex;}finally{Monitor.Exit(lockObj);}}}该代码正在用一个System.Threading.SynchronizationLockException:Objectsynchronizationmethodwascalledfro

Java try catch语句详解

在实际应用中,对于错误的处理是极其重要的,任何程序都很难做到百分百完美,程序中可能存在大量未知问题,所以程序开发时一定要对各种问题进行相应的处理,而Java提供的异常处理机制可以帮用户更好地解决这方面的问题。Java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。Java的异常处理通过5个关键字来实现:try、catch、throw、throws 和 finally。trycatch语句用于捕获并处理异常,finally语句用于在任何情况下(除特殊情况外)都必须执行的代码,throw语句用于拋出异常,throws语句用于声明可能会出现的异常。这里主要介绍Java中的trycatch语

node.js - Blubird 从不点击 .catch 语句

我正在使用Node.js、Bluebird和Redis。鉴于:redisClient.hmsetAsync([key,'sn',sn,'make',make]).then(redisClient.setAsync(key+":radio",radioArray)).then(TMatic.send(res,200)).catch(function(e){console.log("Errorreadingfile",e);TMatic.send(res,500);});当“radioArray”为空时,redis抛出异常:UnhandledrejectionError:ERRwrongn

node.js - Node Promise拒绝不进入catch

我有一个在mongoDB上调用findByIdAndRemove的方法。万一我找不到ID,因此无法从数据库中删除它,我想抛出一个错误。删除仪表板功能:deleteDashboard=(id)=>{returnDashboard.findByIdAndRemove(id).exec((err,dashboard)=>{if(err)returnerrorHandler.handle('dashboardService',err);if(dashboard===null)returnPromise.reject({status:404,message:'notfound'});return

node.js - 在 findOneAndUpdate upsert 之后 try catch _id

我第一次将findOneAndUpdate与“upsert”结合使用。我正在替换我最初的一些丑陋代码。我真的很喜欢重构的干净程度,但我的一个要求是,如果创建了一条新记录,我需要捕获_id以便在紧随其后的另一个进程中使用。问题是,如果记录不存在并且执行“upsert”,则返回为空。我试过returnNewDocument:true&false但没有成功。这是我的代码的结构:Model.findOneAndUpdate({"user_email":req.body.userEmail},{$set:{"property_1":req.body.prop1,"property_2":req.

php - MongoCursorException 被抛出,但没有被 Lithium 中的 try/catch 捕获

我正在使用\lithium\data\source\MongoDB::update()在安全模式下执行更新插入。在某些更新中,由于传递了重复的键,预期会出现MongoCursorException。下面的try/catch没有捕获错误,它冒泡返回到我附加到Dispatcher::run()的ErrorHandler。try{$result=Items::update($record,$conditions,array('upsert'=>true,'safe'=>true));}catch(MongoCursorException$e){$result=false;}catch(Exc

node.js - mongodb Node 崩溃,try catch 异常

tryp=req.params.nameItem.update('name':p,req.body,{upsert:true},(err)->iferr?throwerrres.send("ok"))catchehandle_error(e,"Errorsalvandohojadevida.",res)这会立即在我的代码中产生一个错误-没关系,但为什么我的nodejs程序会崩溃,即使我在这里有一个trycatch?错误是:MongoError:Modon_idnotallowed(所以它必须在更新调用中)我正在专门寻找一种方法来捕获错误,我已经知道如何摆脱它。

java - MongoDB-Java 驱动程序 : Catch exception when insert fails

我正在做一个像这样的非常基本的插入:try{DBmongoDb=_mongo.getDB(_databaseName);DBCollectioncollection=mongoDb.getCollection(_collectionName);collection.insert(myBasicDBObject);}catch(IOExceptionex){//Unreachablecode}catch(MongoExceptionex){//Exceptionneverthrown}catch(Exceptionex){//Handleexception}假设由于某种原因_databa