Maison > développement back-end > Tutoriel Python > Gestion des exceptions Python

Gestion des exceptions Python

大家讲道理
Libérer: 2017-05-28 10:06:01
original
1411 Les gens l'ont consulté

1. Bases des exceptions :

Afin d'augmenter la convivialité lors du processus de programmation, lorsqu'un bug survient dans le programme, le message d'erreur n'est généralement pas affiché à l'utilisateur. Au lieu de cela, il affiche une page d'invite

Syntaxe de base :


1 try:2     pass3 except Exception as e:4 5     print(e)
Copier après la connexion


Exemple : phase de deux nombres Ajouter


 1 while True: 2     num1 = input('num1:') 3     num2 = input('num2:') 4     try: 5         num1 = int(num1) 6         num2 = int(num2) 7         result = num1 + num2 8     except Exception as e: 9         print ('出现异常,信息如下:')10         print (e)
Copier après la connexion



2. Types d'exceptions

python Il existe de nombreux types d'exceptions, et chaque exception est dédiée à la gestion d'une certaine exception ! ! !

Exceptions courantes :


 1 AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异常;基本上是无法打开文件 3 ImportError 无法引入模块或包;基本上是路径问题或名称错误 4 IndentationError 语法错误(的子类) ;代码没有正确对齐 5 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] 6 KeyError 试图访问字典里不存在的键 7 KeyboardInterrupt Ctrl+C被按下 8 NameError 使用一个还未被赋予对象的变量 9 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)10 TypeError 传入对象类型与要求的不符合11 UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,12 导致你以为正在访问它13 ValueError 传入一个调用者不期望的值,即使值的类型是正确的
Copier après la connexion


Exemple 1 : IndexError


1 dic = ["haha", 'hehe']2 try:3     dic[10]4 except IndexError as e:5     print(e)     # list index out of range
Copier après la connexion


Exemple 2 : ValueError


1 s1 = 'hello'2 try:3     int(s1)4 except ValueError as e:5     print(e)   # invalid literal for int() with base 10: 'hello'
Copier après la connexion


Pour le Au-dessus des instances, les classes d'exceptions ne peuvent être utilisées que pour gérer les exceptions spécifiées et ne peuvent pas gérer les exceptions non spécifiées.


1 s1 = 'hello'2 try:3     int(s1)4 except IndexError as e:5     print(e)   # 未捕获到异常,程序直接报错
Copier après la connexion


À ce stade, vous devez prendre en compte toutes les exceptions qui peuvent survenir dans le code du programme


1 s1 = 'hello'2 try:3     int(s1)4 except IndexError as e:5     print(e)6 except KeyError as e:7     print(e)8 except ValueError as e:9     print(e)
Copier après la connexion


Mais parmi les exceptions en python, il existe une exception universelle : Exception, qui peut intercepter n'importe quelle exception, à savoir :


1 s1 = 'hello'2 try:3     int(s1)4 except Exception as e:5     print(e)
Copier après la connexion


Il existe cette exception universelle, mais d'autres exceptions ne peuvent pas être ignorées. Généralement, les exceptions pour les traitements spéciaux ou les rappels doivent être définies en premier, et enfin. Une exception est définie pour assurer le fonctionnement normal du programme


1 s1 = 'hello'2 try:3     int(s1)4 except KeyError as e:5     print( '键错误')6 except IndexError as e:7     print ('索引错误')8 except Exception, as e:9     print ('错误')
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:php.cn
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