异常简介 | Python从入门到精通:高阶篇之四十

简介: 本节我们介绍了程序运行过程中异常的产生以及简单的处理方式(try语句)。

Python标准库 | Python从入门到精通:高阶篇之三十九

异常简介

我们通过一个代码来看一下:

print(a)

执行结果:

image.png

程序在运行过程当中,不可避免的会出现一些错误,比如:

  • 使用了没有赋值过的变量
  • 使用了不存在的索引
  • 除0
  • ...

这些错误在程序中,我们称其为异常。
除0:

print(10/0)

执行结果:

image.png

程序运行过程中,一旦出现异常将会导致程序立即终止,异常以后的代码全部都不会执行!

我们通过一个代码来看:

print('hello')
print(10/2)
print('你好')

执行结果:

image.png

对以上代码做出修改:

print(10/0)

执行结果:

image.png

此时在第二行代码出现异常,之后的程序立即终止,之后的代码都会不执行。

处理异常

程序运行时出现异常,目的并不是让我们的程序直接终止!
Python是希望在出现异常时,我们可以编写代码来对异常进行处理!
如何处理异常

try语句
        try:
            代码块(可能出现错误的语句)
        except 异常类型 as 异常名:
            代码块(出现错误以后的处理方式)
        else:
            代码块(没出错时要执行的语句)    

我们对于上面的异常代码进行处理:

print('hello')
try:
    # try中放置的是有可能出现错误的代码
    print(10/0)
except:
    # except中放置的是出错以后的处理方式
    print('哈哈哈,出错了~~~')
print('你好')

执行结果:

image.png

可以将可能出错的代码放入到try语句,这样如果代码没有错误,则会正常执行,如果出现错误,则会执行expect子句中的代码,这样我们就可以通过代码来处理异常,避免因为一个异常导致整个程序的终止。
我们再来添加一行代码:

else:
    print('程序正常执行没有错误')   

执行结果:

image.png

我们修改代码,看一下执行结果:

print('hello')
try:
    # try中放置的是有可能出现错误的代码
    print(10/2)
except:
    # except中放置的是出错以后的处理方式
    print('哈哈哈,出错了~~~')
else:
    print('程序正常执行没有错误')    
print('你好')

执行结果:

image.png

以上就是对异常的一个简单介绍。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

相关文章
|
1天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
10 1
|
1天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
23 0
|
2天前
|
机器学习/深度学习 数据采集 算法
scikit-learn入门指南:从基础到实践
【4月更文挑战第17天】这篇指南介绍了scikit-learn,一个Python数据分析和机器学习的重要库。内容涵盖安装、数据加载与预处理、模型训练(如KNN分类器)、评估、调参优化及高级应用,如降维和聚类。通过实例展示了scikit-learn在分类任务中的使用,强调其在数据科学中的重要性。要深入了解,可参考官方文档和实践案例。
|
3天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
37 0
|
3天前
|
程序员 索引 Python
06-python数据容器-set(集合)入门基础操作
06-python数据容器-set(集合)入门基础操作
|
7天前
|
网络协议 Java API
Python网络编程基础(Socket编程)Twisted框架简介
【4月更文挑战第12天】在网络编程的实践中,除了使用基本的Socket API之外,还有许多高级的网络编程库可以帮助我们更高效地构建复杂和健壮的网络应用。这些库通常提供了异步IO、事件驱动、协议实现等高级功能,使得开发者能够专注于业务逻辑的实现,而不用过多关注底层的网络细节。
|
8天前
|
JavaScript 前端开发 API
游戏开发入门:Python后端与Vue前端的协同工作方式
【4月更文挑战第11天】使用Python后端(Flask或Django)和Vue.js前端开发游戏变得流行,能提高开发效率和可维护性。本文指导如何构建这样的项目,包括设置环境、创建虚拟环境、搭建后端API及前端Vue组件,强调前后端协作和API接口的重要性。这种架构促进团队合作,提升代码质量和游戏体验。
|
10天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【4月更文挑战第9天】本文介绍了使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先,简述了机器学习的基本概念和类型。接着,展示了如何安装Python和Scikit-learn,加载与处理数据,选择模型进行训练,以及评估模型性能。通过本文,读者可了解机器学习入门步骤,并借助Python和Scikit-learn开始实践。
|
11天前
|
开发者 Python
使用python打印异常
Python的try-except用于异常处理,尝试执行try块中的代码,若出现异常,则由except捕获并处理。示例展示了当尝试除以零引发`ZeroDivisionError`时,如何打印异常信息。使用`traceback`模块可获取更详尽的异常堆栈信息。在实际应用中,异常信息应根据需求写入日志或发送给开发者,避免向用户暴露敏感信息。
11 0
|
12天前
|
机器学习/深度学习 数据可视化 数据挖掘
利用Python进行数据分析与可视化:从入门到精通
本文将介绍如何使用Python语言进行数据分析与可视化,从基础概念到高级技巧一应俱全。通过学习本文,读者将掌握Python在数据处理、分析和可视化方面的核心技能,为实际项目应用打下坚实基础。