当前位置: 首页 > news >正文

做公司 网站pc响应式网站设计

做公司 网站,pc响应式网站设计,个人微信crm,网站开发合同验收概述 在上一节,我们介绍了Python的面向对象编程,包括:类的定义、类的使用、类变量、实例变量、实例方法、类方法、静态方法、类的运算符重载、继承等内容。在这一节中,我们将介绍Python的异常处理。异常是指程序在运行过程中出现的…

概述

        在上一节,我们介绍了Python的面向对象编程,包括:类的定义、类的使用、类变量、实例变量、实例方法、类方法、静态方法、类的运算符重载、继承等内容。在这一节中,我们将介绍Python的异常处理。异常是指程序在运行过程中出现的不正常情况,如文件找不到、除数为零等。异常处理就是要让程序在遇到这些问题时,能够进行合理的处理,避免因错误而导致的程序崩溃和无法预测的行为。

异常

        Python中的异常种类非常多,下面列举了一些常见的异常。

        SyntaxError:语法错误,比如,代码格式不正确,或者关键字拼写错误。

        TypeError:类型错误,比如,将不同类型的对象进行操作,或者函数参数类型不匹配。

        ValueError:数值错误,比如,对字符串进行数值计算时,出现无效的输入。

        KeyError:键错误,比如,在字典中查找不存在的键时,出现错误。

        IndexError:索引错误,比如,在列表或字符串中获取不存在的索引时,出现错误。

        IOError:输入输出错误,比如,文件找不到或无法读取。

        Exception:通用异常,可以捕获所有类型的异常。

# 运行异常:ValueError: invalid literal for int() with base 10: 'hello'
a = int('hello')
b = 'CSDN'
# 运行异常:IndexError: string index out of range
print(b[6])
c = ['C', 'S', 'D', 'N']
# 运行异常:ValueError: list.remove(x): x not in list
c.remove('H')

异常处理

        Python中的异常处理结构使用try、except、else、finally这四个关键字。其中,try和except是必需的,而else和finally是可选的。

try:# 可能会引发异常的代码块x = 1 / 0
except ZeroDivisionError:# 当try块中发生ZeroDivisionError异常时,执行的代码块print("divided by zero")
else:# 当try块中没有发生任何异常时,执行的代码块print("no exception")
finally:# 无论是否发生异常,都会执行的代码块print("completed")

        在上面的示例代码中,try块中的代码可能会引发ZeroDivisionError异常。当这个异常发生时,程序会跳转到与该异常对应的except块中执行。如果try块中的代码没有引发任何异常,程序会跳过except块并执行else块中的代码。无论是否发生异常,最终都会执行finally块中的代码。

        有时候,我们可能想要捕获所有类型的异常。这时,可以使用Exception类来捕获所有异常。

try:x = 1 / 0
except Exception as e:# 输出:exception is: division by zeroprint('exception is:', e)

        在上面的示例代码中,Exception可以捕获所有类型的异常,并将异常对象存储在变量e中。我们可以使用e来获取关于异常的更多信息,比如:错误消息、堆栈跟踪等。

        有时候,我们可能想要对不同类型的异常进行不同的处理。这时,可以在一个try块中使用多个except块来捕获不同类型的异常,也可以在同一个except块中同时处理多个异常,这些异常将被放在一个括号里成为一个元组。

try:x = int('hello')
except ValueError:print('must be number')
except (TypeError, KeyError, IndexError):print('type error')
except Exception as e:print('other exception:', e)

        在上面的示例代码中,try块中的代码可能会引发ValueError或TypeError异常。根据异常类型的不同,程序会跳转到相应的except块中执行相应的处理逻辑。如果try块中的代码发生了除ValueError和TypeError之外的其他异常,程序会跳转到最后一个except块中执行处理逻辑。

        有时候,我们可能想要在不发生异常时才进行相应的处理。这时,可以在所有except块最后添加else块。

try:x = int('66')
except (ValueError, TypeError):print('must be number')
else:print('no exception')

        还有时候,我们可能想要无论是否发生异常都执行某些操作。这时,可以使用finally块,这可以用来进行释放资源、关闭文件等操作。需要注意的是,即使finally块中发生了异常,也不会影响之前已经发生的异常的处理逻辑。

try:x = int('CSDN')
except (ValueError, TypeError):print('must be number')
finally:print('completed')

抛出异常

        在Python中,可以通过使用raise语句来主动抛出异常。raise语句的语法格式如下:

          raise [exceptionName [(reason)]]

        其中,用[]括起来的为可选参数,其作用是指定抛出的异常名称,以及异常的相关描述。如果可选参数全部省略,则raise会默认抛出RuntimeError异常。如果仅省略reason,则在抛出异常时,将不带任何的异常描述信息。

try:a = 100if a > 66:raise ValueError('value error: {}'.format(a))
except ValueError as e:print(e)

        在上面的示例代码中,当a大于66时,我们主动抛出了ValueError类型的异常,并给出了异常描述信息。在except代码块中,我们捕获了异常,并输出了这个异常的具体信息。

用户自定义异常

        在Python中,可以创建用户自定义的异常,这是通过创建一个新的异常类型来实现的。这个新的异常类型通常从内置的异常类型Exception类派生出来,可以直接继承,也可以间接继承。

class MyCustomError(Exception):def __init__(self, msg, code):super().__init__(msg)self.code = codetry:raise MyCustomError('custom exception', -2)
except MyCustomError as e:# 输出:custom exception -2print(e, e.code)

http://www.yayakq.cn/news/39008/

相关文章:

  • 网站建设对接流程图对电子商务网站建设的理解
  • 陕西有没有做网站普查公司积极推进政务网站建设
  • 网站建设与管理专业好吗企业网站建设该怎么描述
  • 南沙外贸网站建设青创网站首页
  • 网站开发流程甘特图大数据营销系统多少钱
  • 红安城市建设局投诉网站电子商务网站建设期末作业
  • wordpress怎么添加友情链接个人博客seo
  • 如何建个人摄影网站做一个分销系统要多少钱
  • 财政网站 建设方案建设网站所需的费用的估算
  • 怎样做网站地图seo职业
  • 织梦网站如何做301跳转比较好的免费网站
  • 深圳网站 建设信科网络企业信用信息公示官网
  • 十堰网站免费建设wordpress接入信用卡付款
  • 意派网站开发新手篇中国做网站公司
  • 做个ppt模板网站开发济宁网站建设费用
  • 怎样做网站卖自己的产品制作 网站 盈利
  • django网站开发过程中国建筑英才网
  • 自学做网站要学什么网站设计教程视频下载
  • 网站建设 站内页面连接住房和城乡建设部网站 上海
  • 四川建设网官方网站城乡建设和住房建设厅官网
  • 福建自己建设网站静海县建设局网站
  • 网站所有人iis能建设网站吗
  • 网站的推广方案做网站准备内容
  • 网站建设公司 跨界鱼科技专业网站制作价格甄选乐云践新
  • 网站的外链建设计划创作图片的软件
  • 培训教育网站开发已经有了域名怎么做网站
  • 网站推广策划报告申请个人网站建设
  • 2019 做网站wordpress搜索代码制做
  • 嘉兴网站建设哪家好网站设计建设案例
  • 内蒙古知名网站建设公司网站建网