Foro de debate

Control de errores

Control de errores

de Laura Martinelli -
Número de respuestas: 4
Hola a todos!!
Les cuento la situación. Tengo una caja de texto donde solicito que me ingresen el tamaño de una muestra en base a la cual hago una gráfica de distribución normal.Es decir cuando hacen click en el botón Graficar llamo a una función con el valor que me ingresaron y grafico la distribución. Mi problema es cómo hago para controlar que cuando presionen sobre el botón hayan previamente ingresado un valor porque en caso contrario me da error la función porque el parámetro está vacío.
Espero haber sido clara, en realidad lo que necesito es saber cómo capturar errores para que no se vean los mensajes.
gracias
En respuesta a Laura Martinelli

Re: Control de errores

de Antonio Jesús Arriaza Gómez -
No es exactamente lo que debes poner para capturar esos errores pero debe ser algo por el estilo a esto:


x<- getSelection(xBox)

if (length(x)==0) {
errorCondition(...,
message=gettextRcmdr("No se ha introducido el tamaño de la muestra"))
return()
}


mi consejo es que le eches un vistazo a las funciones que se definen en Rcmdr y como controlan sus errores en el archivo "Rcmdr". El archivo del que hablo está, en mi caso, en:

C:\Program Files\R\R-2.5.1\library\Rcmdr\R

puedes abrirlo con un editor de textos.

NOTA: Ten cuidado con editar este archivo, si vas a cambiar algo crea una copia de seguridad del mismo.

Un saludo.
En respuesta a Laura Martinelli

Re: Control de errores

de Manuel Muñoz Márquez -
El que un cuadro esté vacío no provoca ningún error. El error se produce si antes de llamar a la función que quieres no validas los parámetros.

Te recomiendo que crees una función, que será la que se llame desde el cuadro de diálogo, que sea la que compruebe la validez de los parámetros. Si dicha función detecta valores incorrectos para los parámetros puede volver a mostrar el mismo cuadro de diálogo junto con un mensaje en el que se diga cuales son los valores admitidos para los parámetros. Si todos los parámetros son válidos entonces se puede llamar a la función que se desee de R sin provocar ningún error.

Saludos.