5
是否可以獲取從調用範圍返回函數的行號?獲取返回函數的行號
例子:
func callee() error {
if cond {
return errors.New("whoops!")
}
return nil
}
func caller() {
// Possible to retrieve the line number of callee return here?
callee()
}
我認爲這是不可能的,因爲它應該從棧中已被刪除,但也許它仍然緩存的地方?
用例是我有一個HTTP處理程序,我想記錄返回錯誤的行和文件名,而不必亂丟代碼。
+1我只是寫了一些類似的代碼,並即將發佈它作爲答案,只是看到不再有任何需要。 –
是的,我已經考慮過包裝功能選項。如果看起來沒有更好的選擇,那麼會使用它。 –