Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Capturar excepción

Estas en el tema de Capturar excepción en el foro de C/C++ en Foros del Web. Estoy programando con MFC en vc++ 6, y más concretamente estoy utilizando el Microsoft Winsock Control 6.0. Tengo un problemilla al ahora de capturar una ...
  #1 (permalink)  
Antiguo 21/01/2008, 03:11
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 5 meses
Puntos: 0
Capturar excepción

Estoy programando con MFC en vc++ 6, y más concretamente estoy utilizando el Microsoft Winsock Control 6.0.

Tengo un problemilla al ahora de capturar una excepción y es al ejecutar la funcion .Listen() de dicho control.

La capturo sin problemas, lo que no me acaba de salir es conocer el nº del error. Por ejemplo, estoy provocando la excecpión intentando abrir un puerto que ya está en uso:
Código:
   try
   {
         if (m_WinSock.GetState()!=0)
		m_WinSock.Close();

	m_WinSock.SetLocalPort( portNumber );
	m_WinSock.Listen();
   }
   catch(CException *e)
   {
        char info[300];
	unsigned int code;
	e->GetErrorMessage( info, 300, &code );
    }
Según la definición de GetErrorMessage el ultimo parámetro (opcional) debe ser un puntero a unsigned int, y se almacenará en él el numero del error ocurrido.
El problema es que luego haciendo un TRACE de code devuelve '0'. Como no se provocar excepciones diferentes no se si es correcto, pero según la msdn, WSAEADDRINUSE (10048) corresponde a un error de dirección en uso... así que supongo que algo hago mal.

Por lo demás, GetErrorMessage funciona bien ya que en info me guarda perfectamente el texto del error ("Dirección en uso").
  #2 (permalink)  
Antiguo 23/01/2008, 02:18
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Capturar excepción

Nadie sabe?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:37.