Maison > développement back-end > Golang > le corps du texte

Explication détaillée de l'utilisation de Golang Panic

藏色散人
Libérer: 2020-09-28 13:20:15
avant
2539 Les gens l'ont consulté

Ce qui suit est une explication détaillée de l'utilisation de Golang panic de la colonne tutoriel golang J'espère que cela sera utile aux amis dans le besoin !

Explication détaillée de l'utilisation de Golang Panic

Le langage Go recherche la simplicité et l'élégance. Par conséquent, le langage Go ne prend pas en charge l'exception traditionnelle try...catch...finally, car le concepteurs du langage Go Nous pensons que mélanger des exceptions avec des structures de contrôle peut facilement encombrer le code.

Parce que les développeurs peuvent facilement abuser des exceptions et même lancer une exception pour une petite erreur. En langage Go, plusieurs valeurs sont utilisées pour renvoyer des erreurs. N'utilisez pas d'exceptions pour remplacer les erreurs, et encore moins contrôler le processus. Dans de rares cas, c'est-à-dire lorsqu'une véritable exception est rencontrée (par exemple, le diviseur est 0). Utilisez uniquement la gestion des exceptions introduite dans Go : différer, paniquer, récupérer.

Les scénarios d'utilisation de ces exceptions peuvent être décrits simplement : Go peut lancer une exception de panique, puis capturer l'exception via la récupération en différé, puis la gérer normalement.

package main

import "fmt"func main(){

    defer func(){ // 必须要先声明defer,否则不能捕获到panic异常
        fmt.Println("c")        if err:=recover();err!=nil{
            fmt.Println(err) // 这里的err其实就是panic传入的内容,55        }
        fmt.Println("d")
    }()

    f()
}

func f(){
    fmt.Println("a")
    panic(55)
    fmt.Println("b")
    fmt.Println("f")
}


输出结果:

a
c
d
exit code 0, process exited normally.
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal