2012-06-28 14 views
15

Sto tentando di eseguire il debug di una funzione. Vorrei visualizzare gli avvisi quando si verificano ma non capisco come modificare le impostazioni di avviso.Come modificare le impostazioni di avviso?

+0

Che tipo di funzione. Una funzione JavaScript o qualche altra lingua? Di quale browser o IDE stiamo parlando? –

+0

La tua domanda sembra essere incompleta perché non hai specificato quale lingua o IDE stai utilizzando. – Jaguar

+0

oops mi dispiace per quello. Sto parlando di R. – VincentH

risposta

12

Set

options(warn=1) 

Per saperne di più in ?options

8

Dalla pagina di aiuto per options:

warn: imposta la gestione dei messaggi di avviso. Se è negativo, tutti gli avvisi vengono ignorati. Se warn è zero (impostazione predefinita) gli avvisi vengono memorizzati fino a quando non viene restituita la funzione di livello superiore. Se sono stati segnalati meno di 10 avvertimenti, verranno stampati altrimenti un messaggio che indica quanti (max 50) sono stati segnalati. Viene creato un oggetto chiamato last.warning che può essere stampato tramite la funzione warnings. Se warn è uno, gli avvisi vengono stampati non appena si verificano. Se warn è due o più grandi tutti gli avvisi sono trasformati in errori.

Quindi options(warn=1) deve stampare gli avvisi non appena si verificano.

Altrimenti la funzione traceback() (dopo un errore non identificato) mostra quale subroutine non è riuscita (più esattamente "la sequenza di chiamate che portano all'errore").

16

Può essere utile specificare

options(warn=2, error=recover) 

Come già detto da @plannapus, warn=2 sarà aggiornare le avvertenze di errori; error=recover passerà in modalità debug/browser nel punto in cui si è verificato l'avviso (aggiornato a un errore). (Utilizzare options(warn=0, error=NULL) per ripristinare le impostazioni originali.)

+0

Adoro l'opzione di recupero. Grazie per quello. –

Problemi correlati