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
    )
}

 

posted @ 2024-09-19 11:16  BlackSnow  阅读(119)  评论(0)    收藏  举报