Действительно ли ваш код так же прост, как фрагмент, который вы только что опубликовали?
В Delphi (также продукте Borland / CodeGear / Embarcadero) я столкнулся с той же «проблемой» с фрагментом кода wtf, который на самом деле представлял собой вложенный ifs-ад:
if test1 then
if test2 then
if test3 then
if test4 then
if test5
then ...
else ...
else
if test5
then ...
else ...
else
if test4 then
if test5
then ...
else ...
else
if test5
then ...
else ...
//etc...
(В действительности было 5 уровней вложенных ifs ...) Компилятор просто отправил предупреждение, если было слишком много возможных ветвей.
Вы также можете получить предупреждение, если ваш код находится внутри блока try/except
, и существует путь выполнения, проходящий через исключение, которое не инициализирует ваш результат.