在 Python 中引发异常
我们将介绍在 Python 中引发异常的不同方法。
当我们编写 Python 程序并运行它们时,如果程序中缺少某些内容或代码中有错误,它会给出输出或错误。异常类似于 Python 编程语言中的异常。
当我们的程序做错事时,Python 会引发许多内置异常。如果在我们尝试运行程序时发生任何异常,它会停止程序并显示程序尝试运行代码时发生的异常。
本文通过一些简单的程序演示了如何使用 try
、except
和 finally
语句处理 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("")
输出:
上面的例子显示了这个程序遍历了 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)
输出:
这是一个包含三个异常块的程序。现在,让我们来看看另一种方法,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)
输出:
上面的例子表明,输入负数会引发我们通过 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)
输出:
从上面的例子可以看出,如果输入的数是偶数,那么程序输出这个数的倒数,如果不是偶数,就会抛出异常,如上结果所示。
相关文章
Django 中的 Slug
发布时间:2023/05/04 浏览次数:173 分类:Python
-
本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。
在 Django 中按降序过滤查询集中的项目
发布时间:2023/05/04 浏览次数:157 分类:Python
-
在这个讲解中,学习如何借助 Django 中的 order_by() 方法按降序过滤出查询集中的项目。
Django ALLOWED_HOSTS 介绍
发布时间:2023/05/04 浏览次数:181 分类:Python
-
本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
使用 Post 请求将数据发送到 Django 服务器
发布时间:2023/05/04 浏览次数:159 分类:Python
-
在这篇关于Django的讲解中,我们简要介绍了post和get请求以及如何在Django中用post实现CSRF token。
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 中进行多项选择。