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 : 异常处理模块
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("这是一段测试输出")
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("这是一段测试输出")
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("这是一段测试输出")
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)
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)
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("测试结束")
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
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)
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)
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!