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("进行了一次分苹果")
相关文章
|
3月前
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
88 2
|
3月前
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
101 2
|
5月前
|
数据库连接 Python
Python中的异常处理除了Try语句,你还会啥?
Python中的异常处理除了Try语句,你还会啥?
82 1
|
5月前
|
Python
|
4月前
|
Python
Python编程中的异常处理:理解与实践
【9月更文挑战第14天】在编码的世界里,错误是不可避免的。它们就像路上的绊脚石,让我们的程序跌跌撞撞。但是,如果我们能够预见并优雅地处理这些错误,我们的程序就能像芭蕾舞者一样,即使在跌倒的边缘,也能轻盈地起舞。本文将带你深入了解Python中的异常处理机制,让你的代码在面对意外时,依然能保持优雅和从容。
167 73
|
2月前
|
UED 开发者 Python
Python中的异常处理机制
Python中的异常处理机制
51 2
|
3月前
|
安全 Java 程序员
Python 异常处理!
本文详细介绍了Python中的异常处理,包括try、except和finally语句的使用方法。文章区分了语法错误与异常,并列举了Python中常见的异常类型,如`SyntaxError`、`TypeError`等。通过具体示例展示了如何使用try-except块捕获和处理异常,以及如何结合else和finally子句增强代码的健壮性和可读性。此外,还介绍了如何使用raise语句主动抛出异常。通过合理的异常处理,可以提高程序的可靠性与调试效率,但也可能带来性能开销和代码复杂度的增加。
53 4
|
3月前
|
IDE 开发工具 开发者
Python中的异常处理与调试技巧
【9月更文挑战第32天】在软件开发中,错误和异常是难以避免的。了解如何有效处理这些情况对于编写健壮、可靠的代码至关重要。本文将深入探讨Python中的异常处理机制,介绍如何使用try-except语句捕捉异常,以及如何利用Python的调试工具来诊断问题。通过实际示例,我们将展示如何优雅地处理异常并提高代码质量。
|
4月前
|
对象存储 索引 Python
30天拿下Python之异常处理
30天拿下Python之异常处理
41 3
|
3月前
|
安全 数据库连接 开发者
深度解析Python上下文管理器:优雅资源管理与异常处理
深度解析Python上下文管理器:优雅资源管理与异常处理
51 0

热门文章

最新文章