Hi Tim If you want halt the app, you should call panic, that's already a go built-in. Think it would apply to your proposal as well, despite i do not agree with it.
Cheers snmed Am Donnerstag, 7. September 2017 14:42:12 UTC+2 schrieb Tim Uckun: > > >I *like* the way go does error passing, *because* it's constrained to > handle errors explicitly. > > But it doesn't though. You can completely ignore the errors if you want. > > > >TBH, no. Not only do I not know what this is supposed to be doing > (err.pop? of what? Why are we assigning to error? What is happening here?), > at best the code seems equivalent to the current code, to me. There is a > function call, a conditional to check for error and then some error > handling. When skimming that code, it would look pretty much identical to > the current idiom. > > > I guess I should have explained it more clearly. > > I was proposing that there should be a language construct called errors. > This would be an array. As exceptions are raised the program would push the > errors into this array. At any time you could examine the array to see if > there were errors and if so what they were. When I said "err.pop" I was > indicating that the program would remove the latest error from the stack to > examine it and act on it. > > This would eliminate a lot of boilerplate but conceptually be the same > kind of error handling. Instead of returning a value, err pair you simply > return the value or you raise an exception. The called can check if an > error was raised by calling some method to indicate whether or not the > errors array is empty. > > For example > > x = someMethod() > // if there was an error in there it would populate the array but we don't > have to explicitly receive the err in the return. > ifErr { > // fetch the error > err = errors.pop() > something() > } > > Something like that. > > I also realize that sometimes you may want to halt the app on errors so > there should be a way to bypass this by some kind of declaration. > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.