python异常处理

简介: python异常处理

python 中常见的异常


image.png


try…except语句


try:
  block1                              # 表示可能出现异常的代码块
except[ExceptionName[as alias]]:        # ExceptionName 表示要捕获的异常的名称   as alias  表示当前的异常的另一个别名
  block2                              # 执行except后可执行的语句


try…except…else


try:
  block1                              # 表示可能出现异常的代码块
except[ExceptionName[as alias]]:        # ExceptionName 表示要捕获的异常的名称   as alias  表示当前的异常的另一个别名
  block2                              # 执行except后执行的语句
else:                                   # 没有抛出异常时执行
  block3                             


try…except…finally语句


try:
  block1                              # 表示可能出现异常的代码块
except[ExceptionName[as alias]]:        # ExceptionName 表示要捕获的异常的名称   as alias  表示当前的异常的另一个别名
  block2                              # 执行except后执行的语句
finally:                                # 无论是否抛出异常都会执行
  block3


raise语句


raise [ExceptionName[(reason)]]         # ExceptionName 表示要捕获的异常的名称


ExceptionName(reason) 中的(reason)可以省略,如果省略在抛出异常时将不会有任何描述信息

练习

模拟分苹果


def division():
    '''功能:分苹果'''
    print("======分苹果啦=======")
    apples = int(input("请输入苹果的个数:"))      # 输入苹果的个数
    children = int(input("请输入孩子的个数"))     # 输入孩子的个数
    result = apples//children                  # 计算每一个人能分多少个
    remain = apples%children                   # 计算剩余多少个苹果
    if apples < children:
        raise ValueError("苹果太少了不够分")       #使用reise语句抛出异常
    if remain > 0:
        print(apples,"苹果",children,"孩子,每一个人分",result,"还剩",remain,"个苹果")
    else:
        print(apples,"苹果",children,"个孩子,每人分",result,"还剩",remain,"个苹果")
if __name__ == '__main__':
    try:                                      # 捕获异常
        division()                            # 调用division()函数(分苹果的函数)
    except ZeroDivisionError:                 # 处理ZeroDivisionError异常(除数为0引发的错误)
        print("\n出错了,苹果不能被零个小朋友分")
    except ValueError as e:                   # 处理ValueError异常(传入值的错误)
        print("出错了",e)
    else:                                     # 没有任何异常时执行
        print("分苹果顺利完成")
    finally:                                  # 无论是否抛出异常都执行
        print("进行了一次分苹果")
相关文章
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
257 2
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
216 2
|
8月前
|
数据采集 监控 Python
Python爬虫异常处理:自动跳过无效URL
Python爬虫异常处理:自动跳过无效URL
Python爬虫异常处理:自动跳过无效URL
|
数据库连接 Python
Python中的异常处理除了Try语句,你还会啥?
Python中的异常处理除了Try语句,你还会啥?
221 1
|
9月前
|
数据库连接 开发者 Python
Python中的异常处理
本文深入探讨了Python中的异常处理机制,包括异常的捕获、处理、抛出及最佳实践。通过try-except语句块,程序可以在运行时处理错误,增强健壮性和可维护性。文章还介绍了自定义异常类的创建与使用,并提供了代码示例和详细的语法说明。最后,总结了异常处理的最佳实践,如精确捕获异常、提供有用错误信息等,帮助开发者编写更可靠的代码。
307 14
|
9月前
|
人工智能 数据库 开发者
[oeasy]python068_异常处理之后做些什么_try语句的完全体_最终_finally
介绍了 Python 中 `try` 语句的完全体,包括 `try`、`except`、`else` 和 `finally` 子句的使用。通过实例展示了如何捕获异常并输出详细的错误信息,如文件名和行号。特别强调了 `finally` 子句的作用,无论是否发生异常,`finally` 都会执行,常用于清理操作。最后总结了 `try` 语句的四个部分及其应用场景,并简要提及了 Python 社区的决策机制。 #try #except #else #finally
163 2
|
Python
Python编程中的异常处理:理解与实践
【9月更文挑战第14天】在编码的世界里,错误是不可避免的。它们就像路上的绊脚石,让我们的程序跌跌撞撞。但是,如果我们能够预见并优雅地处理这些错误,我们的程序就能像芭蕾舞者一样,即使在跌倒的边缘,也能轻盈地起舞。本文将带你深入了解Python中的异常处理机制,让你的代码在面对意外时,依然能保持优雅和从容。
262 73
|
12月前
|
UED 开发者 Python
Python中的异常处理机制
Python中的异常处理机制
169 2
|
安全 Java 程序员
Python 异常处理!
本文详细介绍了Python中的异常处理,包括try、except和finally语句的使用方法。文章区分了语法错误与异常,并列举了Python中常见的异常类型,如`SyntaxError`、`TypeError`等。通过具体示例展示了如何使用try-except块捕获和处理异常,以及如何结合else和finally子句增强代码的健壮性和可读性。此外,还介绍了如何使用raise语句主动抛出异常。通过合理的异常处理,可以提高程序的可靠性与调试效率,但也可能带来性能开销和代码复杂度的增加。
260 4

推荐镜像

更多