iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python基础学习:try...except...的详细用法
  • 491
分享到

Python基础学习:try...except...的详细用法

python学习开发语言 2023-09-22 18:09:14 491人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try

我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except

1.异常类只能来处理指定的异常情况,如果非指定异常则无法处理

s1 = 'hello'try:    int(s1)except IndexError as e: # 未捕获到异常,程序直接报错    print (e)

2.多分支

s1 = 'hello'try:    int(s1)except IndexError as e:    print(e)except KeyError as e:    print(e)except ValueError as e:    print(e)

3.万能异常Exception

s1 = 'hello'try:    int(s1)except Exception as e:    print(e)

4.多分支+Exception

s1 = 'hello'try:    int(s1)except IndexError as e:    print(e)except KeyError as e:    print(e)except ValueError as e:    print(e)except Exception as e:    print(e)

5.异常的其他机构(try…finally语法)

try…finally语句无论是否发生异常都将会执行最后的代码。

语法如下:

try:<语句>finally:<语句>    #退出try时总会执行raise

示例:

s1 = 'hello'try:    int(s1)except IndexError as e:    print(e)except KeyError as e:    print(e)except ValueError as e:    print(e)#except Exception as e:#    print(e)else:    print('try内代码块没有异常则执行我')finally:    print('无论异常与否,都会执行该模块,通常是进行清理工作')

6.主动触发异常(raise语句)

我们可以使用raise语句自己触发异常,raise语法格式如下:

raise [Exception [, args [, traceback]]]

语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。该参数是可选的,如果不提供,异常的参数是"None"。

最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。

示例:

一个异常可以是一个字符串,类或对象。 python的内核提供的异常,大多数都是实例化的类,这是一个类的实例的参数。

定义一个异常非常简单,如下所示:

def functionName( level ):    if level < 1:        raise Exception("Invalid level!", level)        # 触发异常后,后面的代码就不会再执行      
try:    raise TypeError('类型错误')except Exception as e:    print(e)

7.自定义异常

通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。

以下为与BaseException相关的实例,实例中创建了一个类,基类为BaseException,用于在异常触发时输出更多的信息。

在try语句块中,用户自定义的异常后执行except块语句,变量 e 是用于创建Networkerror类的实例。

class Networkerror(BaseException):    def __init__(self,msg):        self.msg=msg    def __str__(self):        return self.msg try:    raise Networkerror('类型错误')except Networkerror as e:    print(e)

8.断言:assert条件

assert 1 == 1 assert 1 == 2

9.总结try…except

  • 把错误处理和真正的工作分开来
  • 代码更易组织,更清晰,复杂的工作任务更容易实现
  • 毫无疑问,更安全了,不至于由于一些小的疏忽而使程序意外崩溃了

最后

对于刚开始接触Python的朋友,这里准备了大量的学习资料 可以直接点击文末名片进行领取

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

来源地址:https://blog.csdn.net/aliYz/article/details/128955150

--结束END--

本文标题: Python基础学习:try...except...的详细用法

本文链接: https://www.lsjlt.com/news/415633.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python基础学习:try...except...的详细用法
    我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try...
    99+
    2023-09-22
    python 学习 开发语言
  • python基础知识之try...except...的详细用法实例
    目录前言1.异常类只能来处理指定的异常情况,如果非指定异常则无法处理2.多分支3.万能异常Exception4.多分支+Exception5.异常的其他机构(try…f...
    99+
    2024-04-02
  • python中try...except的用法
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-15
  • python学习2-基础语法
    1、常量/变量常量:一旦赋值不可改变,不能重新赋值。python不存在常量。字面常量:一个单独出现的量,未赋值给任何变量或常量。变量:是一个名字,在赋值符号的左边。这个名字可以指代赋值符号右边的内容。i = 3除行首的空格,其它地方空格无意...
    99+
    2023-01-31
    语法 基础 python
  • Python学习之12个常用基础语法详解
    目录前言1.多个字符串组合为一个字符串2.字符串拆分为子字符串列表3.统计列表中元素的次数4.使用try-except-else-block模块5.使用枚举函数得到key/value...
    99+
    2024-04-02
  • Python学习之基础语法介绍
    目录前言基础语法编码注释行与缩进多行语句import与from…import前言 Python环境的搭建这里就不赘述了,有需要的小伙伴可以在网上搜罗出很多教程,注意安装PyChom编...
    99+
    2024-04-02
  • C++学习进阶之Makefile基础用法详解
    目录1. Makefile基本语法与执行2. Makefile简化过程3. Makefile生成并使用库3.1 动态库的建立与使用3.2 动态加载库的建立与使用总结1. Makefi...
    99+
    2024-04-02
  • Python基础学习之Python主要的
    Python主要是依靠众多的第三方库来增强它的数据处理能力的。常用的是Numpy库,Scipy库、Matplotlib库、Pandas库、Scikit-Learn库等。 常规版本的python需要在安装完成后另外下载相应的第三方库来安装库...
    99+
    2023-01-31
    基础 Python
  • [零基础学python]类的细节
    前面对类的有关内容已经描述不少了,其实话题远远没有结束,不过对于初学者,掌握这些已经算是入门,在以后的实践中,还需要进行体会和感悟。 这几天和几个朋友以各种途径讨论过OOP的相关问题,他们是:令狐虫、Frank、晋剑、小冯 大家对OOP有...
    99+
    2023-01-31
    细节 基础 python
  • python机器学习基础K近邻算法详解KNN
    目录一、k-近邻算法原理及API1.k-近邻算法原理2.k-近邻算法API3.k-近邻算法特点二、k-近邻算法案例分析案例信息概述第一部分:处理数据1.数据量缩小2.处理时间3.进一...
    99+
    2024-04-02
  • python机器学习基础特征工程算法详解
    目录一、机器学习概述二、数据集的构成1.数据集存储2.可用的数据集3.常用数据集的结构三、特征工程1.字典数据特征抽取2.文本特征抽取3.文本特征抽取:tf-idf4.特征预处理:归...
    99+
    2024-04-02
  • Python基础学习之反射机制详解
    目录什么是反射应用场景基本小栗子贴近实际应用的小场景什么是反射 在Python中,反射是指通过一组内置的函数和语句,在运行时动态地访问、检查和修改对象的属性、方法和类信息的机制。Py...
    99+
    2023-03-22
    Python反射机制 Python反射
  • Java基础学习之构造方法详解
    目录一、构造方法概述二、构造方法的注意事项三、标准类制作一、构造方法概述 构造方法是一种特殊的方法 作用:创建对象Student stu = new Student(); 格式: p...
    99+
    2024-04-02
  • [Python]学习基础篇:常见的Pyt
    函数列表进制转换函数函数名称及参数功能用例bin(x)将数值x转化为二进制>>> x=10 >>> bin(10) 10hex(x)将数值x转化为十六进制>>> x=10 &g...
    99+
    2023-01-31
    常见 基础 Python
  • Python基础学习之函数和代码复用详解
    目录Python函数和代码复用一、函数的定义二、函数的调用三、函数的参数传递1.形式参数与实际参数2.位置传参与关键字传参3.可变对象与不可变对象的参数传递4.个数可变的位置、关键字...
    99+
    2024-04-02
  • avaScript基础学习-基本的语法规则
    目录一、运算符二、分支语句三、循环语句四、异常的捕获与处理五、js中的this关键字六、let与const定义变量使用规则七、js中的void链接八、异步编程setTimeout九、...
    99+
    2024-04-02
  • Go语言基础学习之Context的使用详解
    目录前言基本用法Context控制goroutine的生命周期使用 WithValue() 传递数据使用 WithCancel() 取消操作使用 WithDeadline() 设置截...
    99+
    2023-05-19
    Go语言Context使用 Go语言Context用法 Go Context
  • Git基础学习之标签tag的使用详解
    目录1、标签介绍2、列出标签3、创建标签(1)标签的分类(2)附注标签(3)轻量标签4、后期打标签1、标签介绍 软件的某个发行版本所对应的,其实就是软件开发过程中,某一个阶段的最后一...
    99+
    2022-11-13
    Git 标签tag使用 Git 标签tag Git 标签
  • JSON基础介绍与详细用法
    一、什么是JSON 1、JSON指的是JavaScript对象表示法(JavaScript Object Notation)。2、JSON是轻量级的文本数据交换格式,比XML更小、更...
    99+
    2024-04-02
  • kotlin 官方学习教程之基础语法详解
    kotlin 官方学习教程之基础语法详解Google 在今天的举行了 I/O 大会,大会主要主要展示内有容 Android O(Android 8.0)系统、Google Assistant 语音助手、Google 智能音箱、人工智能、机器...
    99+
    2023-05-31
    kotlin 教程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作