Qt Creator 关于#define 的问题
编译器版本:Qt 5.15.2 MSVC2019 64bit
当使用此宏时
#define TRY_CATCH_BLOCK(code,returnValueExpr) \ try { \ code; \ }catch (const QException &e) {\ qDebug() << LOG_ERROR_WITH_EXCEPTION(e);\ return returnValueExpr;\ } catch (const std::exception &e) {\ qDebug() << LOG_ERROR_WITH_EXCEPTION(e);\ return returnValueExpr;\ } catch (...) {\ LOG_ERROR_NO_EXCEPTION;\ return returnValueExpr;\ }
问题写法:
bool SystemMsgObject::determineDataCorrespondingColors(){
/*此写法不支持块内断点*/
TRY_CATCH_BLOCK(
if(cpuUtilizationRate>30.0L&&cpuUtilizationRate<50.0L){
cpuUtilizationRateColor="yellow";
}else if(cpuUtilizationRate>=50.0L){
cpuUtilizationRateColor="red";
}
if(memoryUtilizationRate>0.6L&&memoryUtilizationRate<0.7L){
memoryUtilizationRateColor="yellow";
}else if(memoryUtilizationRate>=0.7L){
memoryUtilizationRateColor="red";
}
if(diskUtilizationRate>0.7L&&diskUtilizationRate<0.8L){
diskUtilizationRateColor="yellow";
}else if(diskUtilizationRate>=0.8L){
diskUtilizationRateColor="red";
}
return true;
,
false
)
}

浙公网安备 33010602011771号