2012-06-28 12 views
15

Estoy intentando depurar una función. Me gustaría mostrar advertencias cuando se producen, pero no entiendo cómo cambiar la configuración de advertencia.¿Cómo cambiar la configuración de advertencia?

+0

Qué tipo de función. ¿Una función de JavaScript o algún otro idioma? ¿De qué navegador o IDE estamos hablando? –

+0

Su pregunta parece estar incompleta porque no ha especificado qué idioma o IDE está utilizando. – Jaguar

+0

perdón por eso. Estoy hablando de R. – VincentH

Respuesta

12

Conjunto

options(warn=1) 

Leer más en ?options

8

Desde la página de ayuda para options:

warn: establece el manejo de los mensajes de advertencia. Si warn es negativo, todas las advertencias se ignoran. Si warn es cero (el valor predeterminado) las advertencias se almacenan hasta que la función de nivel superior regrese. Si se señalaron menos de 10 advertencias, se imprimirán de lo contrario un mensaje que indica cuántos (máx. 50) se señalaron. Se crea un objeto llamado last.warning que se puede imprimir a través de la función warnings. Si warn es uno, las advertencias se imprimen cuando se producen. Si warn es dos o más grande, todas las advertencias se convierten en errores.

Por lo tanto, options(warn=1) debe imprimir advertencias a medida que ocurren.

De lo contrario, la función traceback() (después de un error no identificado) muestra qué subrutina falló (más exactamente "la secuencia de llamadas que conducen al error").

16

Puede ser útil especificar

options(warn=2, error=recover) 

Según lo mencionado por @plannapus, warn=2 actualizará advertencias a los errores; error=recover lo llevará a un modo de depuración/navegador en el punto donde ocurrió la advertencia (ahora actualizado a un error). (Use options(warn=0, error=NULL) para restablecer la configuración original.)

+0

Me encanta la opción de recuperación. Gracias por eso. –

Cuestiones relacionadas