Problem # The error handling of Go is not up to snuff compared to other languages like Java for example. Errors are treated equally to other values, meaning, they have no special type. This means, they do not carry information of origin in them. Which makes tracking down the error origin more difficult. Let me show that to you. package main import ( "errors" "fmt" ) func main() { err := NewErrorWithStackTrace() if err !