%%% ------------------------------------------------------- %%% @author huangyongxing@yeah.net %%% @doc %%% OTP版本差异兼容性管理 %%% @end %%% ------------------------------------------------------- -ifndef(OTP_COMPATIBLE_HRL). -define(OTP_COMPATIBLE_HRL, ok). %% 版本差异管理 %% ------------------------------------------------------------------- -ifdef(OTP_RELEASE). %% OTP 21 or higher %% ------------------------------------------------------------------- %% 异常处理 -define(EXCEPTION(Class, Reason, Stacktrace), Class:Reason:Stacktrace). -define(GET_STACK(Stacktrace), Stacktrace). %% error logger -define(LOGGER(Fmt, Args), logger:error(Fmt, Args)). %% ------------------------------------------------------------------- -else. %% OTP 20 or lower %% ------------------------------------------------------------------- %% 异常处理 -define(EXCEPTION(Class, Reason, _), Class:Reason). -define(GET_STACK(_), erlang:get_stacktrace()). %% error logger -define(LOGGER(Fmt, Args), error_logger:error_msg(Fmt, Args)). %% ------------------------------------------------------------------- -endif. %% ------------------------------------------------------------------- -endif.