Comment utiliser l'instruction try except BaseException en Python ?

WBOY
Libérer: 2023-05-09 08:34:07
avant
1860 Les gens l'ont consulté

try...sauf est la structure la plus courante pour détecter et gérer les exceptions. Sa fonction principale est d'encapsuler les blocs de code qui peuvent causer des problèmes avec try : pour empêcher les erreurs de provoquer le crash du programme et son exécution

Commun. try.. Il existe trois structures d'exppet

try:
     pass
except BaseException as e :
    异常处理模块
Copier après la connexion

try contient du code de programme qui peut provoquer des exceptions, et le bloc except contient du code qui est utilisé pour intercepter les exceptions et gérer les exceptions après qu'une exception se produit

Si une exception se produit dans le module. inclus dans try Les exceptions passeront au module except pour exécuter le code dans except. Le module dans excpet gérera l'exception. Si aucune exception ne se produit, le programme n'exécutera pas le code dans except.

Écrit un bloc de code pour tester qui signalera une erreur

try:
    test = eval(str(input("请输入一个字符串: ")))
    tests = test + "This is a piece of test code"
except BaseException as e:
    print("出现的错误可能是%s"%e)
print("这是一段测试输出")
Copier après la connexion

Comment utiliser linstruction try except BaseException en Python ?

Message d'erreur : type(s) d'opérande(s) non pris en charge pour + : 'int' et 'str'

Non pris en charge : type de données : "int" et " str" ​​opération d'épissage (+)

Une saisie de code correcte :

try:
    test = str(input("请输入一个字符串: "))
    tests = test + " "+"This is a piece of test code"
    print("输入正确的内容则会执行的代码块:",tests)
except BaseException as e:
    print("出现的错误可能是%s"%e)
print("这是一段测试输出")
Copier après la connexion

Comment utiliser linstruction try except BaseException en Python ?

Les mots ne peuvent pas être épissés avec des chaînes. Seuls les nombres convertis en chaînes peuvent être épissés.

Il s'agit d'un bloc de code problématique qui n'est pas traité par try except :

Si try...sauf... n'est pas utilisé : pour envelopper le code possible, le programme plantera, affectant le code suivant

test = int(input("请输入一个字符串: "))
tests = test + " "+"This is a piece of test code"
print("这是一段测试输出")
Copier après la connexion

Comment utiliser linstruction try except BaseException en Python ?

Plusieurs instructions except,

Si le type d'erreur dans le code que vous écrivez n'est pas clair, vous pouvez écrire quelques instructions supplémentaires de détection d'exceptions. N'oubliez pas d'ajouter une exception BaseException à la fin pour les opérations de dissimulation (si le cas est le cas). les erreurs qui se produisent ne sont pas les vôtres) Les exceptions capturées avec except (vous pouvez l'utiliser pour le savoir), c'est la classe parent de toutes les exceptions et contient toutes les exceptions courantes

arr = {
    "xiaomi":"123",
    "xiaozhang":"456",
    "xiaodede":"7,8,9"
}
arrs = (1,2,3,4,5)
 
try:
    3 / 0
 
    print(arrs[6])
except IndexError :
    print('导入包失败')
except KeyError :
    print('在字典中找不到指定的键')
except ImportError :
    print("索引时没有找到指定序列")
#兜底捕获错误,BaseException 是所有错误的父类可以说是包含了所有常见的错误
except BaseException as e:
    print(arr["mayuanyuan"])
    print(e)
Copier après la connexion

Les fonctions exprimées par les opérations ci-dessus sont cohérentes avec les opérations suivantes . Vous pouvez également combiner toutes les exceptions possibles. Les exceptions sont écrites dans un except, séparées par des virgules

arr = (1,2,3,4,5)
try:
    int("3.1415926")
    print(add)  # 未定义
    print(arr[6]) #超出索引
 
except (IndexError,NameError,ValueError)as e:
    print(e)
Copier après la connexion

3 try... except... esle

S'il n'y a pas d'exception dans le bloc de code contenu dans try, l'instruction dans. sinon sera exécuté. Le bloc de code dans excpet ne sera pas exécuté (ce code ne sera utilisé que pour intercepter lorsque le bloc de code dans try lève une exception)

try:
    arr = int(input("请输入一个整数: "))
except BaseException as e:
    print(e)
else:
    arrs = arr + 111
    print(arrs)
print("测试结束")
Copier après la connexion

Comment utiliser linstruction try except BaseException en Python ?

C'est tout pour le module de gestion des exceptions, je veux Parlez-en Concernant l'utilisation réelle du module de gestion des exceptions, essayez sauf que certains blogueurs parleront de quelques cas simples. Certains étudiants n'auront peut-être pas une compréhension très approfondie de ce module. Pourquoi ?

try:
   4 /0
except BaseException as e:
    print(e)
报错: division by zero
Copier après la connexion

Vous savez évidemment que c'est une opération de division par zéro, pourquoi ne la changez-vous pas ? Quelles erreurs connaissez-vous clairement ? Est-ce parce que j'ai délibérément écrit les erreurs juste pour les tester ?

Après réflexion, je vous ai proposé une opération amusante

pour le cas du mot de passe de connexion. Si le mot de passe est saisi correctement, il vous indiquera que la connexion est réussie, s'il est erroné, la saisie se poursuivra. est plus de trois fois, il vous demandera : "Entrez Le mot de passe a été verrouillé en raison d'un trop grand nombre de fois incorrectes "

i = 0
while True:
    if i == 3:
        print("输入错误次数过多密码已锁定")
        break
    try:
        Divisor = str(input("请输入一个整数: "))
        # A = Divisor/1
        # B = A+1   #如果输出有误就不会执行加1操作直接跳到 except当中
        # print("结果是:",B)
        mima = 'ma123'
        if Divisor == mima:
            i = i+1
            print("登录成功,输入%s次"%i)
            break
    except:
        i = i+1
        print("密码输入错误请重新输入:")
print("登陆了%s次"%i)
Copier après la connexion

Il s'agit d'un morceau de code sur "essayez... sauf... ailleurs" avec une utilisation pratique

vous invite à saisir le mot de passe, puis effectue le cryptage et l'épissage appropriés en fonction du contenu du mot de passe

md5 = []
try:
    Divisor = str(input("请输入你的密码: "))
 
except:
    print("密码输入错误")
else:
    for i  in  Divisor:
        if i == 1:
            i = "a"
        else:
            i == 2
            i = "b"
    md5.append(i)
    MD5 = Divisor + md5[0]
 
 
 
print("经过加密后的数据%s"%MD5)
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:yisu.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