5.10 Recover
Giving up is usually the right response to a panic, but not always. It might be possible to recover in some way, or at least clean up the mess before quitting. For example, a web server that encounters an unexpected problem could close the connection rather than leave the client hanging, and during development, it might report the error to the client too.
If the built-in recover
function is called within a deferred
function and the function containing the defer
statement is
panicking, recover
ends the current state of panic and returns
the panic value.
The function that was panicking does not continue where it left off
but returns normally.
If recover
is called at any other time, it has no effect and
returns nil
.
To illustrate, ...
Get The Go Programming Language now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.