È possibile ottenere il numero di riga su cui è stata restituita una funzione dall'ambito di chiamata?Ottieni il numero di riga su quale funzione è stata restituita
Esempio:
func callee() error {
if cond {
return errors.New("whoops!")
}
return nil
}
func caller() {
// Possible to retrieve the line number of callee return here?
callee()
}
Suppongo che non è possibile, in quanto dovrebbe essere già rimossa dalla pila, ma forse è ancora nella cache da qualche parte?
Il caso d'uso è che ho un gestore HTTP e vorrei registrare la riga e il nome del file su cui è stato restituito l'errore, senza dover sparpagliare il codice.
+1 ho appena scritto un codice simile e stavo per postare era una risposta, solo per vedere che non c'era più alcun bisogno. –
Sì, ho già considerato l'opzione della funzione di avvolgimento. Lo userà allora, se non sembra esserci un'alternativa migliore. –