Suprimir advertencias
Es posible que su programa emita advertencias que no siempre afectan de forma negativa a la ejecución. Para evitar confusiones, puede ocultar los mensajes de advertencia durante la ejecución cambiando sus estados de 'on'
a 'off'
.
Para suprimir mensajes de advertencia concretos, primero debe buscar el identificador de la advertencia. Cada mensaje de advertencia tiene un identificador único. Para buscar el identificador asociado con una advertencia de MATLAB®, reproduzca la advertencia. Por ejemplo, este código reproduce una advertencia generada si MATLAB intenta eliminar una carpeta que no existe:
rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path.
Nota
Si esta instrucción no genera un mensaje de advertencia, utilice el siguiente código para habilitar temporalmente la visualización de todas las advertencias y, después, restaure el estado original de la advertencia:
w = warning ('on','all'); rmpath('folderthatisnotonpath') warning(w)
Para obtener información sobre la advertencia emitida más reciente, utilice las funciones warning
o lastwarn
. Este código utiliza el estado query
para devolver una estructura de datos que contiene el identificador y el estado actual de la última advertencia:
w = warning('query','last')
w = identifier: 'MATLAB:rmpath:DirNotFound' state: 'on'
id
:id = w.identifier;
Nota
warning('query','last')
devuelve la última advertencia que se mostró. MATLAB solo muestra mensajes de advertencia con state: 'on'
y un identificador de advertencia.
Utilizando la función lastwarn
puede recuperar el último mensaje de advertencia, independientemente del estado de visualización:
lastwarn
ans = "folderthatisnotonpath" not found in path.
Activar y desactivar advertencias
Una vez haya obtenido el identificador con el estado query
, utilice esta información para deshabilitar o habilitar la advertencia asociada con ese identificador.
Siguiendo con el ejemplo de la sección anterior, deshabilite la advertencia 'MATLAB:rmpath:DirNotFound'
y repita la operación.
warning('off',id) rmpath('folderthatisnotonpath')
MATLAB no muestra ninguna advertencia.
Active la advertencia e intente eliminar una ruta que no existe:
warning('on',id) rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path.
Ahora MATLAB emite una advertencia.
Sugerencia
Desactive la advertencia invocada más reciente con warning('off','last')
.
Controlar todas las advertencias
El término todas hace referencia únicamente a aquellas advertencias que se han emitido o modificado durante la sesión actual de MATLAB. Los estados de las advertencias modificadas se mantienen solo durante la sesión actual. Al iniciar una nueva sesión, se restaura la configuración predeterminada.
Utilice el identificador 'all'
para representar el grupo de todas las advertencias. Visualice el estado de todas las advertencias con una de las siguientes sintaxis:
warning('query','all')
warning
Para activar todas las advertencias y comprobar el estado:
warning('on','all') warning('query','all')
All warnings have the state 'on'.
Para desactivar todas las advertencias y comprobar el estado, utilice esta sintaxis:
warning('off','all') warning
All warnings have the state 'off'.