En Java si un argumento de entrada a un método no es válido, podemos lanzar un IllegalArgumentException
(que es del tipo RuntimeException
). En C++, no hay ninguna noción de excepciones marcadas y sin marcar. ¿Existe una excepción similar en C++ estándar que se puede usar para indicar una excepción de tiempo de ejecución? ¿O hay un estilo común que no está en el estándar pero todos siguen en la práctica para una situación como esta?Equivalente de IllegalArgumentException de Java en C++
O, ¿debería simplemente crear mi propia excepción personalizada y lanzarla?
¿Dynamic_cast <>() con un tipo de referencia lanza una excepción estándar? –
Lo hace, una excepción std :: bad_cast. Si es con referencias. Con los punteros se devuelve un 0 y el código de usuario debe verificar el valor del resultado. –
Sí, std :: bad_cast. –