python 编辑器提示 do not use bare except

在捕获异常时,应该尽可能指定特定的异常,而不是只使用 except 语句。

比如说, except 语句会捕获 KeyboardInterruptSystemExit 异常,但 KeyboardInterrupt 可能是我们通过 Ctrl + C 主动触发的,显然是不希望被捕获的。

这样做会影响我们对异常的判断。

如果实在不知道是什么异常,至少要这样使用: except Exception

再举一个例子:

try:
    user = User.objects.get(pk=user_id)
    user.send_mail('Hello world')
except:
    logger.error('An error occurred!')

这样捕获异常显然是不好的,应该采用下面这样的方式进行优化。

try:
    user = User.objects.get(pk=user_id)
    user.send_mail('Hello world')
except User.DoesNotExist:
    logger.error('The user does not exist with that ID')

推荐阅读:

  • 计算机经典书籍
  • 技术博客 硬核后端开发技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
  • Go 程序员 Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。
  • 面试题汇总 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

Original: https://www.cnblogs.com/alwaysbeta/p/15978608.html
Author: yongxinz
Title: python 编辑器提示 do not use bare except

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643507/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Deepin 15.4 安装 Double Commander

    参照官方教程,安装命令行如下: 对于 xUbuntu 16.04,请运行以下命令: cnblogs_Highlighterbash; sudo sh -c "echo &…

    技术杂谈 2023年5月30日
    098
  • 剑指offer计划21( 位运算简单)—java

    1.1、题目1 剑指 Offer 15. 二进制中1的个数 1.2、解法 通过判断每一位的与来识别1的数量。 1.3、代码 public class Solution { // y…

    技术杂谈 2023年7月25日
    088
  • IC 后端仿真: process corner 和 PVT (转)

    与双极晶体管不同,在不同的晶片之间以及在不同的批次之间,MOSFETs参数变化很大。为了在一定程度上减轻电路设计任务的困难,工艺工程师们要保证器件的性能在某个范围内,大体上,他们以…

    技术杂谈 2023年6月1日
    0100
  • 亚马逊领导力原则14条

    我们的领导力准则不仅仅是非常鼓舞人心的墙帷。这些准则十分有效,就像我们努力工作所取得的成果一样。无论是在讨论新项目的创意、决定应对客户问题的最佳解决方案,还是对求职者进行面试,亚马…

    技术杂谈 2023年5月31日
    0101
  • 访问权限控制

    一.编译单元 1-1 概念 一个Java源代码文件通常被称为一个编译单元,每个编译单元的后缀需是.java,并且每个编译单元中最多只能有1个public类(当然,可以为0个)。 1…

    技术杂谈 2023年7月23日
    098
  • 爬虫亚马逊Bestselling类别产品数据TOP100

    1 # -*- coding: utf-8 -*- 2 # @Time : 2020/9/11 16:23 3 # @Author : Chunfang 4 # @Email : …

    技术杂谈 2023年7月23日
    089
  • 树的直径

    树的直径 题目描述 树中两点间的不重复经过的边和点道路称为两点的路径,路径的长度(路径上所经边的长度和)称为两点的距离。圆的直径是一个圆的最长的一条弦,而树的直径是树中两点间最长的…

    技术杂谈 2023年7月11日
    073
  • 耗时2天,我自制了一台体感游戏机

    大家好,欢迎来到 Crossin的编程教室~ 几天不见,Crossin 又去做什么游戏去了呢?这次我做的不是游戏,而是游戏机!而且是体感游戏机。 但往前几年,其实还有另一个非常火的…

    技术杂谈 2023年7月25日
    076
  • Reactor模型

    要无障碍阅读本文,需要对NIO有一个大概的了解,起码要可以写一个NIO的Hello World。 说到NIO、Netty,Reactor模型一定是绕不开的,因为这种模式架构太经典了…

    技术杂谈 2023年7月25日
    061
  • spark学习记录之join引发重复计算

    一直对spark sql中的join操作感到迷惑, 如果join之前的操作没有进行persist DataFrame的话,是否会存在让之前的transformation重复执行的问…

    技术杂谈 2023年6月21日
    095
  • jsch jar包连接不上ssh报Algorithm negotiation fail 错误

    参考:https://my.oschina.net/greatqing/blog/740179 1、jsch jar包连接不上ssh报Algorithm negotiation f…

    技术杂谈 2023年5月31日
    0128
  • Springboot&&LinuX

    一、现学习规划 Springboot 概念介绍:全新框架,简化Spring应用的初始搭建以及开发过程 Springboot核心:自动装配 微服务阶段 javase:OOP mysq…

    技术杂谈 2023年6月21日
    085
  • go-micro使用Consul做服务发现的方法和原理

    go-micro v4默认使用mdns做服务发现。不过也支持采用其它的服务发现中间件,因为多年来一直使用Consul做服务发现,为了方便和其它服务集成,所以还是选择了Consul。…

    技术杂谈 2023年7月11日
    094
  • mysql 多表join优化

    多表join的sql EXPLAIN SELECT employee.name, department.name, project.name FROM employee left …

    技术杂谈 2023年7月11日
    095
  • 实践篇丨「QingScan」使用指南

    QingScan是一个安全工具整合系统,解决你平时使用各种工具一个个打开填写扫描目标的繁琐过程。QingScan工具只需要你把URL给它,它会调用市面上各种扫描工具,对URL扫描,…

    技术杂谈 2023年5月31日
    092
  • 享元模式之网店模板

    1、 实例概况 在天猫商城里存在着成天上万的网店,但是天猫所提供的网站模板是一样的,存在许多天猫网店使用同一个网店模板的情况,如果每一个网店都用一个网店对象来表示,因为网店数量巨大…

    技术杂谈 2023年7月23日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球