Changes between Initial Version and Version 1 of logCrearCodigo


Ignore:
Timestamp:
Feb 25, 2014, 9:54:24 AM (10 years ago)
Author:
irina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • logCrearCodigo

    v1 v1  
     1= Cómo crear un nuevo código de error y su mensaje asociado. =
     2Los códigos de errores se hayan definidos
     3* para la línea de comandos en /opt/opengnsys/client/etc/preinit/'''loadenviron.sh'''
     4* para la consola en la web del proyecto en branches/version1.0/admin/Sources/Clients/ogAdmClient/sources/'''ogAdmClient.h'''
     5
     6Los mensajes de error están en los ficheros de idiomas: /opt/opengnsys/client/etc/'''lang.XX_XX.conf.'''
     7
     8La función que devuelve el mensaje de error de un código es''' ogRaiseError''' y se haya definida en /opt/opengnsys/client/lib/engine/bin/'''System.lib'''
     9
     10Los códigos de error tiene el comienzan con el prefijo '''OG_ERR_''' y los mensajes por '''MSG_ERR_''' la útima parte será igual para el código de error y el  mensaje que le corresponde.
     11
     12== Para crear un nuevo código de error hemos de modificar todos estos ficheros: ==
     13
     14Añadimos loadenviron.sh
     15{{{
     16# Declaración de códigos de error.
     17export OG_ERR_FORMAT=1          # Formato de ejecución incorrecto.
     18export OG_ERR_NOTFOUND=2        # Fichero o dispositivo no encontrado.
     19...
     20export OG_ERR_NUEVO=NUM         # Mensaje de error.
     21}}}
     22
     23En el comentario ponemos el mismo mensaje que contenga la variable MSG_ERR_NUEVO.
     24
     25Añadimos a ogAdmClient.h
     26{{{
     27// Tabla de errores de la ejecución de los scripts
     28char* tbErroresScripts[]={"Se han generado errores desconocidos. No se puede continuar la ejecución de este módulo",\
     29                "001-Formato de ejecución incorrecto.",\
     30                "002-Fichero o dispositivo no encontrado",\
     31                "NUM-Mensaje de error.",\
     32                "Error desconocido "
     33        };
     34        #define MAXERRORSCRIPT NUM_ULTIMO              // Error máximo cometido
     35}}}
     36
     37Por coherencia entre la línea de comando y la consola web debemos utilizar el mismo código de error los dos archivos anteriores.
     38
     39En ogAdmClient.h no puede haber saltos en la numeración de los códigos. En caso de no existir algún código intermedio en loadenviron.sh se le asigna un mensaje genérico:
     40{{{
     41                "NUM_NOEXISTE-Error no definido",\
     42}}}
     43
     44Hay que compilar de nuevo el cliente de opengnsys para que contenga el mensaje de error que acabamos de definir.
     45
     46Añadimos en todos los ficheros de idioma: lang.es_ES.conf, lang.ca_ES.conf y lang.en_GB.conf.
     47{{{
     48MSG_ERR_FORMAT="Formato de ejecución incorrecto"
     49MSG_ERR_NOTFOUND="Fichero o dispositivo no encontrado"
     50...
     51MSG_ERR_NUEVO="Mensaje de error."
     52}}}
     53
     54Para relacionar el código de error con su mensaje en el archivo System.lib, dentro de la función ogRaiseError incluimos:
     55{{{
     56function ogRaiseError () {
     57...
     58case "$CODE" in
     59     $OG_ERR_FORMAT)     MSG="$MSG_ERR_FORMAT \"$2\"" ;;
     60     $OG_ERR_NOTFOUND)   MSG="$MSG_ERR_NOTFOUND \"$2\"" ;;
     61     ...
     62     $OG_ERR_NUEVO)      MSG="$MSG_ERR_NUEVO \"$2\"" ;;
     63     *)                  MSG="$MSG_ERR_GENERIC"; CODE=$OG_ERR_GENERIC ;;
     64esac
     65}}}