千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  关于学院  >  技术干货  >  正文

Python培训教程分享:Python异常机制

来源:千锋教育
作者:qyf
2021-11-30
分享

  在学习Python技术的时候,我们经常会遇到一些异常,例如导致程序在运行过程中出现的中断或退出,我们都称之为异常,大多数的异常都不会被程序处理,而是以错误信息的形式展现出来。本期Python培训教程就算教大家关于Python异常机制的内容。

src=http___img3.appinn.com_images_201902_js

  Python培训教程分享:Python异常机制,首先我们要理解什么叫做异常?

  在程序运行过程中,总会遇到各种各样的问题和错误。有些错误是我们编写代码时自己造成的:比如语法错误、调用错误,甚至逻辑错误。还有一些错误,则是不可预料的错误,但是完全有可能发生的:比如文件不存在、磁盘空间不足、网络堵塞、系统错误等等。

  这些导致程序在运行过程中出现异常中断和退出的错误,我们统称为异常。大多数的异常都不会被程序处理,而是以错误信息的形式展现出来。

  异常的分类:

  异常有很多种类型,Python内置了几十种常见的异常,无需特别导入,直接就可使用。

  需要注意的是,所有的异常都是异常类,首字母是大写的!

  异常的危害:

  如果程序中一旦出现了异常的语句代码,则该异常就会立即中断程序的运行!

  因此:为了保证程序的正常运行,提高程序健壮性和可用性。我们应当尽量考虑全面,将可能出现的异常进行处理,而不是留在那里,任由其发生。

  基本语法:

  异常的基本结构:try except

  # (1)通用异常

  try:

  pass # 正常执行语句

  except Exception as ex:

  pass # 异常处理语句

  # (2)指定异常

  try:

  pass # 正常执行语句

  except <异常名>:

  pass # 异常处理语句

  #(3) 捕获多个异常

  # 捕获多个异常有两种方式,第一种是一个except同时处理多个异常,不区分优先级:

  try:

  pass # 正常执行语句

  except (<异常名1>, <异常名2>, ...):

  pass # 异常处理语句

  # 第二种是区分优先级的:

  try:

  pass # 正常执行语句

  except <异常名1>:

  pass # 异常处理语句1

  except <异常名2>:

  pass # 异常处理语句2

  except <异常名3>:

  pass # 异常处理语句3

  # 异常嵌套

  try:

  try:

  with open("abc") as f:

  pass

  except NameError as e:

  print(e)

  except OSError as e:

  print("OSError:",e.strerror)

  机制说明:

  首先,执行try子句(在关键字try和关键字except之间的语句)

  如果没有异常发生,忽略except子句,try子句执行后结束。

  如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常那么对应的except子句将被执行。

  在Python的异常中,有一个通用异常:Exception,它可以捕获任意异常。

  finally

  try:

  pass # 正常执行语句

  except Exception as e:

  pass # 异常处理语句

  finally:

  pass # 无论是否发生异常一定要执行的语句,比如关闭文件,数据库或者socket

  raise语句

  很多时候,我们需要主动抛出一个异常。Python内置了一个关键字raise,可以主动触发异常。

  raise可以抛出自定义异常,我们已将在前面看到了python内置的一些常见的异常类型。大多数情况下,内置异常已经够用了。但是有时候你还是需要自定义一些异常:自定义异常应该继承Exception类,直接继承或者间接继承都可以,例如:

  # 1.用户自定义异常类型

  class TooLongExceptin(Exception):

  "this is user's Exception for check the length of name "

  def __init__(self, len):

  self.len = len

  def __str__(self):

  return "输入姓名长度是" + str(self.len) + ",超过长度了"

  try:

  name = input("enter your name:")

  if len(name) > 5:

  raise TooLongExceptin(len(name))

  else:

  print(name)

  except TooLongExceptin as error: # 这里异常类型是用户自定义的

  print("打印异常信息:", error)

  以上就是为大家介绍的Python的异常机制内容,希望上面的介绍能够给大家带来帮助,如果大家想要学习python或者是正在学习python知识,但是苦于没有人指导,那么可以添加我们的qq群-790693323,点击添加(加群备注:领资料)不仅可以领取python学习资料,并且群内还有专业的老师定期解答大家的问题,想要学习python的小伙伴,不要错过。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • linux备份文件命令(linux备份文件命令cp怎么用) linux下备份一个目录下所有文件及目录,应该用什么命令1、dump命令 Linux dump命令用于备份文件系统。dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件
  • linuxuseradd命令详解(linux中useradd和adduser) linux中useradd,usermod命令的使用方法是什么1、通过 usermod -L 用户名锁住密码,这时在root用户下su -l 用户名还是可以进入到系统中,因为root用户su到任意用
  • linux清空日志log命令(linux如何清日志) 在Linux下如何清除系统日志1、每天0点执行 usrnginxdellog.sh 保存后退出,输入命令crontab root就会看到varspoolcron文件夹下看到相应的副本文件root。至
  • linux新建用户命令(linux创建用户命令) linux系统添加用户命令是什么1、Linux如何创建用户打开xshell软件,远程访问您的服务器或虚拟机。Linux添加用户名的命令是:Suduseraded。输入用户文件夹,查看是否已经有一个包
  • linux打开文件夹命令(linux常用命令 打开文件) linux进入管理员模式命令在Linux的命令提示窗口下。输入su命令,然后输入密码就可以进入管理员了。首先打开linux vi,进入到编辑页面中,然后按下“ESC”按键就可以切换到命令模式中了。然
  • linux安装rz(Linux安装maven) Linux下rz命令怎么使用解决方法:本地系统中安装Xshell,用Xshell连接虚拟机Linux,在Xshell中输入命令rz即可上传文件。通过你的描述,将本地的文件上传至linux ,可以通过