raise statement on a conditional expression

后端 未结 4 511
梦如初夏
梦如初夏 2020-12-29 03:38

Following \"Samurai principle\", I\'m trying to do this on my functions but seems it\'s wrong...

return  if  else raise 

        
4条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-29 04:22

    Inline/ternary if is an expression, not a statement. Your attempt means "if bool, return value, else return the result of raise expression" - which is nonsense of course, because raise exception is itself a statement not an expression.

    There's no way to do this inline, and you shouldn't want to. Do it explicitly:

    if not bool:
        raise MyException
    return value
    

提交回复
热议问题