Go language panic and recover use

Source: Internet
Author: User
This is a created article in which the information may have evolved or changed.
Package Mainimport (    "FMT") func main () {    f ()    FMT. PRINTLN ("returned normally from F.")} Func f () {    defer func () {        if r: = Recover (); r! = nil {            FMT. Println ("Recovered in F", R)            FMT. Println ("Recovered in F", R)        }    } ()    FMT. Println ("calling G.")    G ()    FMT. PRINTLN ("returned normally from G.")} Func g () {    Panic ("ERROR")}


Panic means throwing an exception, similar to Python's raise usage
Recover is a catch exception, similar to Python's except usage
Defer will defer the function to other functions after the end of execution, followed by the function
Golang error Handling process: When a function has an exception or is encountered during execution
Panic (), the normal statement terminates immediately, then executes the defer statement, and then reports the different
Information, and finally exit Goroutine. If the recover () is used in the defer
function, an error message is captured that causes the error message to terminate the report.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.