GoAWK uses panic & recover to simplify error handling in the recursive descent parser: <a href="https://github.com/benhoyt/goawk/blob/master/parser/parser.go#L63-L75" rel="nofollow">https://github.com/benhoyt/goawk/blob/master/parser/parser.g...</a>