【测试开发学习历程】异常处理

embedded/2024/9/24 0:18:07/

目录

认识错误(BUG)

关于错误

第一个演练中的常见错误

异常

try语句

1、格式一:try……except

.2、格式二:try:..... finally:.....

3、格式三:try:……except……finally:……

4、格式四:try:..........except:……

5、格式五:try:.....except:.....else:……


认识错误(BUG)

关于错误
  • 编写的程序不能正常执行,或者执行的结果不是我们期望的

  • 俗称 BUG,是程序员在开发时非常常见的,初学者常见错误的原因包括:

    1. 手误

    2. 对已经学习过的知识理解还存在不足

    3. 对语言还有需要学习和提升的内容

  • 学习语言时,不仅要学会语言的语法,而且还要学会如何认识错误和解决错误的方法

每一个程序员都是在不断地修改错误中成长的

第一个演练中的常见错误
  • 1> 手误,例如使用 pirnt("Hello world")

python">NameError: name 'pirnt' is not defined
​
名称错误:'pirnt' 名字没有定义
  • 2> 将多条 print 写在一行

python">SyntaxError: invalid syntax
​
语法错误:语法无效

每行代码负责完成一个动作

  • 3> 缩进错误

python">IndentationError: unexpected indent
​
缩进错误:不期望出现的缩进
  • Python 是一个格式非常严格的程序设计语言

  • 目前而言,大家记住每行代码前面都不要增加空格

  • 4> python 2.x 默认不支持中文

目前市场上有两个 Python 的版本并存着,分别是 Python 2.xPython 3.x

  • Python 2.x 默认不支持中文 Python 3.x默认支持中文

  • Python 2.x 的解释器名称是 python 需要在安装python2的目录把python.exe文件更改为python2.exe

  • Python 3.x 的解释器名称是 python

python">SyntaxError: Non-ASCII character '\xe4' in file 01-HelloPython.py on line 3, 
but no encoding declared; 
see http://python.org/dev/peps/pep-0263/ for details
​
语法错误: 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 '\xe4',但是没有声明文件编码
请访问 http://python.org/dev/peps/pep-0263/ 了解详细信息
  • ASCII 字符只包含 256 个字符,不支持中文

异常

  • 异常是指事件会在程序执行过程中发生错误,影响了程序的正常执行

  • 一般情况下,在python无法正常处理程序时就会发生一个异常,即报出错误

  • python脚本发生异常时我们需要捕获处理它,否则程序会终止执行

try语句

try里面一般放你觉得可能会出错的代码

1、格式一:try……except
  • 自动引发异常(常用),在自动化时,可以用来写日志,将报错写入日志中,方便查看问题。

    python">input_str = input('请输入一个数字:')
    try:print('输入内容是%d'%input_str)
    except TypeError:
    # 自动引发异常raise TypeError('请输入数据类型的正确数字!')

.2、格式二:try:..... finally:.....
  • try:..... finally:..... :先运行try,然后再运行finally,不管try里面代码运行是否失败

    python">try:print("进入try")file = open(r'd:\test.txt',mode='r')print("已经打开了文件")
    finally:file.close()print('结束')

3、格式三:try:……except……finally:……
  • 不管try执行是否正常,都会执行finally,只有异常才会执行except

    python">try:print("进入try")file = open(r't.txt',mode='r')print("已经打开了文件")
    except Exception as e:print('进入except')print('报错信息:',e)
    finally:print('结束')

4、格式四:try:..........except:……
  • 当try运行正常不执行except,当try运行不正常,运行except。

    python">try:print("进入try")file = open(r'd:\test7.txt',mode='r')print(file.read())print("已经打开了文件")
    except Exception as e:print('进入except')print('报错信息:',e)
    #Exception是常规错误的基类;BaseException是所有异常的基类。

5、格式五:try:.....except:.....else:……
  • try: ..... except: .....else :……当try代码正常,则不执行except的代码,但是要执行else的代码;反之要执行except,而不执行else

    python">try:print("进入try")file = open(r'd:\test08.txt',mode='r')print("已经打开了文件")
    except Exception as e:print('进入except')print('报错信息:',e)
    else:print("其它")
    finally:print("最终的")#捕获多个异常举例
    try:1/0
    except IndexError:print("异常1")
    except ZeroDivisionError:print("除数不能为0")
    else:print("没有异常")
    finally:print("有没有异常都要执行")


http://www.ppmy.cn/embedded/21907.html

相关文章

深入探索Android Service:多线程环境最佳实践与系统级操作

引言 Service作为Android平台的基石之一,其在多线程环境下的高级应用以及跨应用通信的能力,为开发者提供了构建高性能、高稳定性应用的可能。本文将深入探讨Service在多线程环境下的最佳实践,以及Service 与系统级操作、Service与系统资源管…

嵌入式物联网实战开发笔记-乐鑫ESP32开发环境ESP-IDF搭建【doc.yotill.com】

乐鑫ESP32入门到精通项目开发参考百例下载: 链接:百度网盘 请输入提取码 提取码:4e33 3.1 ESP-IDF 简介 ESP-IDF(Espressif IoT Development Framework)是乐鑫(Espressif Systems)为 ESP 系列…

openGauss学习笔记-271 openGauss性能调优-TPCC性能调优测试指导-测试MOT-TPCC性能

文章目录 openGauss学习笔记-271 openGauss性能调优-TPCC性能调优测试指导-测试MOT-TPCC性能271.1 TPC-C简介271.2 系统级优化271.3 BenchmarkSQL:开源TPC-C工具271.4 运行基准271.5 结果报告 openGauss学习笔记-271 openGauss性能调优-TPCC性能调优测试指导-测试MO…

Hive基础5

一、窗口函数 聚合,取值函数 排序函数 over(partition by 分组字段 order by 字段 row between 起始行 and 结束行) /*创建部门表*/ CREATE TABLE dept (deptno INT PRIMARY KEY,dname VARCHAR(50) comment 部门名称,loc VARCHAR(50) comment 工作地点 ); ​ /*…

数据库第七次作业-数据库第七章-使用 E-R 模型的数据库设计

前言 网上没有找到这一次作业的参考答案 所以笔者准备提前学一下数据库的相关知识 可以把这次作业当作督促自己尽快学完数据库的一个机会 第一题 某航空公司要设计一个有关飞行员的数据库,要求保存以下信息。飞行员的飞行证编号、姓名、出生日期、性别等&#xf…

[Android]Jetpack Compose页面跳转和传值

一、页面跳转和返回 1.添加 Navigation 依赖 在你的 build.gradle (Module)文件中, 添加 Navigation Compose 依赖。 dependencies {implementation ("androidx.navigation:navigation-compose:2.5.3") } 2.创建跳转页面 接下来&#xff…

【spring mvc】配置默认Servlet处理器

最近在开发项目时遇到将springmvc无法处理的静态资源请求转发给tomcat默认的servlet进行处理的场景,然后根据DispatcherServlet请求的路径,找到了如何配置默认Servlet处理器。 一、配置方式 具体需要看您是否使用了springmvc提供的方式完成的注入配置&…

Springboot的@Cacheable注解

概述 Cacheable 是 Spring 框架提供的一种基于缓存的注解,它可以被应用在方法上以指示该方法的结果需要被缓存起来,缓存在哪个 Cache 中以及该方法使用何种缓存键。 使用 Cacheable 注解后,每次调用该方法时,首先从缓存中检查是…