什么是Try Except在Python中及其工作方式?

举报
Yuchuan 发表于 2021/01/13 16:15:07 2021/01/13
【摘要】 Python 中异常处理学习。

无论您的编程水平如何,某些脚本都会出错。这些错误可能是由于用户意外输入,错误的服务器响应或任何其他原因引起的。在Python中尝试使用Except可以捕获错误,而不是死掉,而是做一些更合理的事情。在本文中,我们将看到Python如何按以下顺序使用try-except处理异常:

什么是在Python中的Try Except?

在错误和异常处理中使用Try方法。有两种错误

  • 语法错误:也称为解析错误。当Python解析器无法理解一行代码时,就会发生这种情况。

  • 异常错误:在执行期间检测到这些错误。

现在,在这些情况下,我们需要在Python代码中处理这些错误。那是python中try-except派上用场的地方。

句法:

try:
// Code
except:
// Code

例:

try:
print(x)
except:
print("An exception occurred")

输出:

输出:尝试在python中除外-edureka

Try()如何工作?

尝试工作涉及的不同步骤是:

  • 子句之间执行的 尝试除外条款。     
  • 如果没有异常,那么只有在 尝试 子句将运行,除非条款完成。  
  • 条款将跳过除了条款如果出现任何异常运行。    
  • 如果发生任何异常,如果代码中的except子句不处理它,则将其传递到外部try语句。如果未处理异常,则停止执行。    
  • 一个try语句可以有一个以上的except子句。    

Python例外范例

在第一个示例中,没有异常,因此try子句将运行:

def divide(x, y):
try:
result = x // y
print("The answer is :", result)
except ZeroDivisionError:
print("Sorry ! Cannot divide by zero ")
divide(10, 5)def divide(x, y):
try:
result = x // y
print("The answer is :", result)
except ZeroDivisionError:
print("Sorry ! Cannot divide by zero ")
divide(10, 5)

输出:

答案是:2

在第二个示例中,有一个异常,因此只有except子句会运行:

def divide(x, y):
try:
result = x // y
print("The answer is :", result)
except ZeroDivisionError:
print("Sorry ! Cannot divide by zero ")
divide(4, 0)

输出:

不好意思!不能被零除

异常处理

Python中的tryexcept块用于捕获和处理异常。Python将try语句视为程序的正常部分来执行代码。然而,except语句充当程序对前面try子句中任何异常的响应。

异常便于处理程序中的错误和特殊条件。如果您正在使用会产生错误的代码,则可以使用异常处理。另外,您可以通过使用引发异常语句在自己的程序中引发异常。引发异常会中断当前的代码执行,并将异常返回,直到对其进行处理为止。

异常错误

有不同类型的异常错误,例如:

  • IOError:如果无法打开文件
  • KeyboardInterrupt:当用户按下不需要的键时
  • ValueError:内置函数收到错误的参数时
  • EOFError:如果未读取任何数据便命中了文件尾
  • ImportError:如果找不到模块

这样,我们就结束了本文的结尾。我希望您了解在Python中除了try之外还有什么尝试以及如何将其用于处理异常。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。