vida tirar tengo sobre significado pies parrilla miel los hojuelas fierros como carne c++

c++ - tirar - tengo los pies como fierros



¿Por qué lanzar una expresión? (1)

La siguiente publicación analiza el tipo de una expresión de throw : En C ++, si throw es una expresión, ¿cuál es su tipo? . Me gustaría aclarar una cosa más básica: ¿por qué debería ser una expresión y no una declaración (sin expresión) como el return en primer lugar? Quiero decir, ¿alguien querría escribir algo como auto x = throw std::runtime_error("Error message") ?


Si throw fuera una declaración, no podría usarla con el operador condicional.

return success() ? computation() : throw std::runtime_error("oops");

Nota: esto puede o no tener usos fuera de la ofuscación de código.

Edición: un caso útil está dentro de las estrictas funciones constexpr C ++ 11 que solo pueden contener una instrucción. Gracias @dyp por la idea!