C ++ excepción para punteros nulos
Tengo una pequeña función (en un archivo DLL) que se ve así:
int my_function(const char* const s)
{
try {
return my_object->do_something_with(s);
} catch (exception& e) {
return ERROR_CODE;
}
}
Pensé que el bloque try-catch evitaría cualquier cosa que pudiera ocurrir dentro demy_object
de propagarse al exterior. Desafortunadamente, estaba equivocado, y mi programa que llama a esta función (desde VB) simplemente dejó de funcionar porque había pasado un argumento de puntero nulo.
Entonces, ¿por qué mi bloque try-catch no funciona como (I) esperaba? ¿Hay alguna solución? Solía programar mucho en Java y creo que habría funcionado allí ...