写写python中try的使用
后台-插件-广告管理-内容页头部广告(手机) |
python中try的使用
在 Python 中,try 是用于异常处理的关键字。try 语句的语法如下:
try: # 可能会抛出异常的语句块 except ExceptionType1: # 处理 ExceptionType1 异常的语句块 except ExceptionType2: # 处理 ExceptionType2 异常的语句块 else: # 如果没有异常发生,执行的语句块 finally: # 不管有没有异常,都会执行的语句块- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
其中,try 语句块中的代码可能会抛出异常,如果抛出了异常,则会在 try 语句块中断,并跳转到对应的 except 语句块中处理异常。except 语句块中可以指定要处理的异常类型,如果抛出的异常是指定类型的异常,则会执行对应的 except 语句块中的代码。
如果在 try 语句块中没有抛出异常,则会执行 else 语句块中的代码。finally 语句块中的代码不管有没有异常都会执行。
以下是一个简单的例子,演示了 try 语句块的使用:
try: x = int(input("请输入一个整数: ")) print("输入的整数是:", x) except ValueError: print("输入错误:请输入整数") else: print("没有发生异常") finally: print("程序执行完毕")- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
在这个例子中,try 语句块中的代码尝试将用户输入转换成整数,并输出转换后的结果。如果用户输入的不是整数,则会抛出 ValueError 异常,然后跳转到对应的 except 语句块中处理异常。在 except 语句块中,我们输出了一条错误消息,告诉用户输入错误。在 else 语句块中,我们输出了一条消息,表示没有发生异常。在 finally 语句块中,我们输出了一条消息,表示程序执行完毕,无论有没有发生异常都会执行。
自定义异常
ValueError 是 Python 内置的异常类型之一,它通常表示某个函数或方法收到的参数无效或不合法。例如,在尝试将一个字符串转换为整数时,如果字符串不是一个合法的数字,则会抛出 ValueError 异常。
在 Python 中,除了内置的异常类型,也可以自定义异常类型。为了自定义一个异常类型,可以定义一个新的类,并继承自 Exception 类或其它内置的异常类型。例如,以下代码定义了一个自定义的异常类型 MyError:
class MyError(Exception): pass- 1
- 2
定义了 MyError 异常类型之后,就可以在程序中抛出这个异常。例如:
def my_function(x): if x < 0: raise MyError("x不能小于0") else: return x * 2 try: result = my_function(-1) except MyError as e: print("发生了自定义异常:", e) else: print("结果是:", result)- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
在这个例子中,我们定义了一个名为 my_function() 的函数,用于接收一个数字 x,并将其乘以 2。如果 x 是一个负数,则会抛出 MyError 异常,并输出错误消息。在 try 语句块中,我们调用了 my_function(-1),由于 -1 是一个负数,因此会抛出 MyError 异常。在 except 语句块中,我们捕获了这个异常,并输出了错误消息。在 else 语句块中,我们输出了计算结果。
内置异常
Python 中内置的异常类型非常多,可以用来处理不同类型的错误。以下是 Python 3.9.6 版本中内置的常见异常类型及其说明:
- Exception:所有异常的基类。
- AttributeError:对象没有这个属性。
- EOFError:没有内建输入,到达了 EOF 标记。
- FileExistsError:在创建文件或目录时,发现文件或目录已经存在。
- FileNotFoundError:文件或目录不存在。
- ImportError:模块导入失败。
- IndexError:序列中没有这个索引。
- KeyError:映射中没有这个键。
- KeyboardInterrupt:用户中断执行。
- MemoryError:内存溢出错误。
- NameError:未声明/初始化对象(没有属性)。
- NotImplementedError:抽象方法没有实现。
- OSError:操作系统错误,例如文件打开/读取错误。
- OverflowError:数值运算超出最大值。
- RecursionError:递归嵌套太深。
- RuntimeError:通用运行时错误。
- StopIteration:迭代器没有更多的值。
- SyntaxError:语法错误。
- IndentationError:缩进错误。
- TabError:Tab 和空格混用。
- SystemError:解释器内部错误。
- TypeError:操作或函数应用于不适当的类型。
- UnboundLocalError:访问未初始化的本地变量。
- UnicodeError:Unicode 相关的错误。
- ValueError:操作或函数接收到的参数具有不正确的值。
- ZeroDivisionError:除数为零。
需要注意的是,这只是 Python 中内置的一部分异常类型,还有许多其他的异常类型,而且还可以自定义异常类型。在编写代码时,可以根据需要选择适当的异常类型来处理错误。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |