迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中引发异常

作者:迹忆客 最近更新:2023/03/06 浏览次数:

我们将介绍在 Python 中引发异常的不同方法。

当我们编写 Python 程序并运行它们时,如果程序中缺少某些内容或代码中有错误,它会给出输出或错误。异常类似于 Python 编程语言中的异常。

当我们的程序做错事时,Python 会引发许多内置异常。如果在我们尝试运行程序时发生任何异常,它会停止程序并显示程序尝试运行代码时发生的异常。

本文通过一些简单的程序演示了如何使用 tryexceptfinally 语句处理 Python 程序中的异常。

在 Python 中,我们可以通过在代码中使用 try 语句来处理异常,以最大限度地减少异常的机会。try 子句包含可能产生异常的关键操作。

except 子句包含解决异常的代码。

现在,让我们看一个例子,如果用户输入错误的值,使用 try 语句引发异常。

# python
Any_List = [2,'Husnain',4,6,8]

for value in Any_List:
    try:
        print("The value is", value)
        raci = 1/int(value)
        print("The reciprocal of", value, "is", raci)
        print("")
    except:
        print("Oops! There is a string in this list.")
        print("The reciprocal of", value, "cannot be done!")
        print("")

输出:

使用 try 语句在 python 中引发异常

上面的例子显示了这个程序遍历了 Any_List 中的条目,如果没有异常,except 块将被跳过,代码将顺利运行,直到它到达 Any_List 中的最后一个元素.

但是,如果在遍历 Any_List 中的所有元素时出现异常,except 块将被执行,并打印如上结果所示的值。

现在,让我们举一个例子,我们将在其中创建三个不同的 except 案例。我们在上面的程序中提到了只有一个 except 块的 try 语句。

但是在这个程序中,我们使用了三个 except 块,它们提供了更多选择子句的选项。

# python
VAR0 = 10
try:
    VAR1 = int("Husnain")
    VAR2 = int(56)

    result = (int(VAR1) * int(VAR2))/(VAR0 * int(VAR2))

except ValueError as ve:
    print(ve)
    exit()

except TypeError as te:
    print(te)
    exit()

except:
    print('Unexpected Error!')
    exit()
print (result)

输出:

使用多个 except 语句在 python 中引发异常

这是一个包含三个异常块的程序。现在,让我们来看看另一种方法,raise,它可以用来在 Python 中引发异常。

当 Python 编程运行时代码中出现一些错误时,就会引发异常。我们可以使用 raise 关键字手动引发异常。

我们还可以将值传递给异常,以提供有关异常以及程序引发它的原因的更多信息。

让我们举个例子,我们将使用 raise 关键字手动引发错误。

# python
try:
    num=int(-23)
    if num <= 0:
        raise ValueError("entred number is not positive")
except ValueError as ve:
    print(ve)

输出:

在 python 中使用 raise 关键字引发异常

上面的例子表明,输入负数会引发我们通过 raise 关键字设置的异常。

现在,让我们来看另一个示例,在该示例中,我们将使用 else 子句手动引发异常。

在某些情况下,当我们想在 try 语句下运行程序没有任何错误时,我们会使用 else 语句来完成程序处理。

# python
try:
 number = int(21)
 assert number % 2 == 0

except:
 print("It is not a even number!")
else:
 reciprocal = 1/number
 print(reciprocal)

输出:

使用 else 语句在 python 中引发异常

从上面的例子可以看出,如果输入的数是偶数,那么程序输出这个数的倒数,如果不是偶数,就会抛出异常,如上结果所示。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便