Если плюс - удачно, информация в коде возврата - справочная.
Если минус - критичная ошибка, ф-ия не отработала.
(?) Насколько такой подход (с отрицательным enum) правильный-феншуйный-политкорректный ?
ps - minus_4 итд приведено для наглядности, в реале - ест-но - там симв. имя ошибки вроде eErr_ADC_Ready
А реализовал так:
Код
enum TEnum
{
minus_4 = -4,
minus_3,
minus_2,
minus_1,
null_0 = 0,
plus_1,
plus_2,
plus_3,
plus_4
} my_enum;
. . .
int MyFun(void) { ... ... ... return(minus_2); ..... .... return(plus_3); }
. . .
RetCode = MyFun();
if( RetCode > 0 )
{
. . . . ошибок нет, в RetCode в инф. о статусе выполнения.
}
else // минусы и 0
{
. . . . разбор ошибок
}
{
minus_4 = -4,
minus_3,
minus_2,
minus_1,
null_0 = 0,
plus_1,
plus_2,
plus_3,
plus_4
} my_enum;
. . .
int MyFun(void) { ... ... ... return(minus_2); ..... .... return(plus_3); }
. . .
RetCode = MyFun();
if( RetCode > 0 )
{
. . . . ошибок нет, в RetCode в инф. о статусе выполнения.
}
else // минусы и 0
{
. . . . разбор ошибок
}