Panic is like throwing an error.  I'd probably want to change this error handling if we hardened this for real. 

http://blog.golang.org/defer-panic-and-recover