yeah, I think this is overly confusing and possibly totally misguided. I think that if you just use go it'll throw the exception, which is the right thing.

note that this function is going to return a channel with one value, which is the return value of this function.