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í ...

Respuestas a la pregunta(6)

Su respuesta a la pregunta