Python异常处理

北城以北 提交于 2021-01-10 15:14:17

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。


问题描述

大家在使用python语言写代码的时候难免会出一些错误,而才入门的朋友们往往不知道是哪里出了错或者不知道自己错在哪里、什么错误。

所以我们要知道是哪行代码出错,其次室错误的类型是什么,错在那个细节,逐步分析,从而解决错误并改正。

解决方案

首先我们要了解异常才能处理异常

那我们来就说一说异常的定义:程序运行过程中出现的错误或遇到的意外情况

其次是错误的类型分别有:语法错误、运行错误、逻辑错误

而我们通常出错的理由无非是这些:输入错误、下标越界、类型错误、操作不当等等

接着我们来看一看报错的构成吧

接下来我们的重点来了,在python异常处理会用到try-except语句

我们来熟悉,一下try-except语句它的语法结构吧

try:

    <语句块1>

except <异常类型>:

         <语句块2>

下面我们来写一个小程序来使用try-except语句

try:

    num = eval(input("请输入一个整数: "))

    print(num**2)

except NameError:

    print("输入错误,请输入一个整数!")

该程序执行效果如下:

>>> 

请输入一个整数: NO

输入错误,请输入一个整数!

从而我们得出了它的错误为NameError,同时我们又可以根据提示改正错误。

在看完上面的介绍之后大家的问题可能又来了,什么问题呢?大家可能会问怎么样检验多个异常呢?下面我就给大家带来try-except语句的升级版。

try-except语句可以支持多个except语句,语法格式如下:

try:

    <语句块1>

except <异常类型1>:

    <语句块2>

….

except <异常类型N>:

    <语句块N+1>

except:

    <语句块N+2>

这个过程与if-elif-else语句类似,是分支结构的一种表达方式。

此外try-except语句可以和else、finally配套使用:

try:

    <语句块1>

except <异常类型1>:

    <语句块2>

else:

    <语句块3>

finally:

    <语句块4>

在此需要认真阅读一下内容,我们写的代码出错和正常的时候该语法是怎样运行的。

正常情况下不会执行except,异常情况下则是不会执行else语句,但是两者都会执行try和finally语句。通过对比大家或许可以更深层次的了解异常处理了吧。如果还有不明白的朋友们要仔细阅读或者在网查阅资料哦。

结语

我接触的第一门编程语言就是python,在开始学习的时候也总是出错误,报错的语句以前也是看不懂,直到学习了异常处理,我个人认为学习编程语言的时候要较早的接触异常处理,这样才能帮助自己取得进步。异常处理我相信是认真学习受益终生的,其实一些在企业上班的程序员,在自己不确定代码是否正确的情况也会用到,所以希望大家认真学习。

更多精彩文章:

聊一聊编程的本质

【Maven冷知识】Compiler插件

【Maven冷知识】java.version

什么是机器学习

关于网页首页设计的一点思考

新手小白应该如何学习MUI

聊一聊where2go团队做什么

聊一聊编程的本质

深入理解浏览器内核 - 概述

深入理解浏览器内核 - 浏览器内核介绍

深入理解浏览器内核 - 浏览器内核依赖关系

python快速求解不定积分和定积分

AI告诉你张无忌最爱的竟是...

Jupyter快速编辑高大上数学公式 泰勒展开式

Jupyter快速编辑高大上数学公式 常见希腊字母

基本初等函数 指数函数

基本初等函数 指数函数 代码篇

聊一聊JavaWeb面试

聊一聊单片机和服务器

50行代码实现简单的网站服务器

50行代码实现网站服务器 2

50行代码实现网站服务器 3

Tomcat源码分析之 doGet方法(一)

Tomcat源码分析之 doGet方法(二)

Tomcat源码分析之 doGet方法(三)

Tomcat源码分析之 doGet方法(四)

Tomcat源码分析之中文乱码(一)

一种基于状态机的 DOM 树生成技术(1)

一种基于状态机的 DOM 树生成技术(2)


 where2go 团队


   

微信号:算法与编程之美          

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!


本文分享自微信公众号 - 算法与编程之美(algo_coding)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!