Come posso ottenere maggiori informazioni su dove si è verificato un errore Haskell? Ad esempio, ieri stavo lavorando a un programma Haskell che analizza un file di input, trasforma i dati e poi stampa le informazioni di reporting.Errori di tracciamento in Haskell
A un certo punto, mi sono imbattuto "principale" e tornati
*** Prelude.read: parse error
senza altre informazioni. Fortunatamente, sapevo che stavo chiamando in un solo posto ed ero in grado di risolverlo, ma per il futuro:
- E 'possibile ottenere un backtrace o un numero di riga per errori come questi?
- È possibile ottenere i dati effettivi che hanno attivato l'errore, ovvero la stringa che ha causato l'errore di analisi?
Grazie!
Modifica Utilizzo di GHC.
Stai meglio evitando completamente le funzioni parziali. Usa invece 'Safe.readMay'. –
vedere [qui] (http://stackoverflow.com/questions/8595077/how-can-i-get-the-position-where-error-was-called) per una soluzione migliore – Simon