前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 初探异常

Python 初探异常

作者头像
Zkeq
发布2022-05-18 14:34:51
2380
发布2022-05-18 14:34:51
举报
文章被收录于专栏:ZkeqZkeq

初探异常

什么是异常与异常处理
  • 异常就是错误
  • 异常会导致程序崩溃并停止运行
  • 能监控并捕获异常,将异常部位的程序进行修理使得程序继续正常运行
异常的语法结构
代码语言:javascript
复制
try:
	<代码块1>  被try关键字检查并保护的业务代码
	
except <异常的类型>:
    <代码块2> # 代码块1 出现错误后执行的代码块
捕获通用异常
  • 无法确定是哪种异常的情况下使用的捕获方法
代码语言:javascript
复制
try:
    <代码块>
except Exception as e:  # 单词首字母大写
    <异常代码块>
捕获具体异常
  • 确定是哪种异常的情况下使用的捕获方法
  • except <具体的异常类型>as e
捕获多个异常(1)
代码语言:javascript
复制
try:
    print('try start')
    res = 1/0
    print('try finish')
except ZeroDivisionError as e:
    print(e)
except Exception as e: #可以有多个except
    print(‘this is a public excpet , bug is: %s' % e)
  • except代码块有多个的时候,捕获到第一个后,不会继续向下捕获
捕获多个异常(2)
代码语言:javascript
复制
try:
    print('try start')
    res = 1/0
    print('try finish')
except (ZeroDivisionError, Exception) as e:
    print(e)
  • except代码后边的异常类型使用元组包裹起来,捕获到哪种抛出哪种

代码

代码语言:javascript
复制
# coding:utf-8

def upper(str_data):
    new_str = 'None'
    try:
        new_str = str_data.upper()
    except Exception as e:
        print('程序出错了:{}'.format(e))
    return new_str


result = upper(1)
print('result:', result)

def test():
    try:
        print('123')
        1 / 0
        print('hello')
    except ZeroDivisionError as e:
        print(e)


test()


def test1():
    try:
        print('hello')
        print(name)
    except (ZeroDivisionError, NameError) as e:
        print(e)
        print(type(e))
        print(dir(e))


test1()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 初探异常
    • 什么是异常与异常处理
      • 异常的语法结构
        • 捕获通用异常
          • 捕获具体异常
            • 捕获多个异常(1)
              • 捕获多个异常(2)
              • 代码
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档