首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel编程周末速成班第24课:调试和发布应用程序

在某些情况使用整数类型可能会导致舍入错误和bugs。 调试工具 几乎所有bugs都是由两个因素导致——单独工作或组合工作: 程序执行接收到错误路径。 一个或多个变量取不正确值。...表24-1:在中断模式执行命令 ? VBA跳转命令使用取决于调试会话详细信息。例如,如果要跟踪每行代码执行,则可以使用“逐语句”。...在这种情况,VBA将显示一个警告对话框。 使用监视 监视使你能够在执行期间确定程序变量值。检查变量最简单方法是在中断模式。...当程序处于中断模式时,将编辑光标放在感兴趣变量或属性名称上,或突出显示要评估表达式,按Shift +F9或选择“调试➪快速监视”以显示“快速监视”对话框,如图24-4所示。...大多数bugs是由于变量取不正确值和/或程序执行分支不正确造成。 可以在程序中任何位置设置断点,以强制程序在该点暂停。 当程序在中断模式暂停时,可以单步执行代码以查找错误

5.8K10

python3:文件操作open() 方法超全详解

,python3会抛出 OSError错误 使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。...当buffering设置为0时,即表示不使用缓冲,直接进行读写,但是这个设置只在二进制模式下有效 当buffering设置为1时,表示在文本模式使用行缓冲区方式 当buffering设置大于1时,表示缓冲区设置大小...encoding---文件编码格式,可选参数,一般为utf-8或者gbk,只在文本模式使用 errors---可选参数,它指定python如何处理编码或解码错误,它也不能在二进制模式使用。...以下为一些标准错误处理程序: 当指明为'strict'时,编码出错抛出异常ValueError,默认值None具有相同效果。 'ignore'---忽略错误。...'surrogateescape'将表示任何不正确字节,作为从U DC80到U DCFF范围内Unicode私人使用区域中代码点。

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

python3 文件操作open() 方法超全详解

,python3会抛出 OSError错误 使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。...当buffering设置为0时,即表示不使用缓冲,直接进行读写,但是这个设置只在二进制模式下有效 当buffering设置为1时,表示在文本模式使用行缓冲区方式 当buffering设置大于1时,表示缓冲区设置大小...encoding---文件编码格式,可选参数,一般为utf-8或者gbk,只在文本模式使用 errors---可选参数,它指定python如何处理编码或解码错误,它也不能在二进制模式使用。...以下为一些标准错误处理程序: 当指明为'strict'时,编码出错抛出异常ValueError,默认值None具有相同效果。 'ignore'---忽略错误。...'surrogateescape'将表示任何不正确字节,作为从U DC80到U DCFF范围内Unicode私人使用区域中代码点。

1.1K11

Python3之异常,调试和测试

12.Python3入门之异常、调试和测试 在程序运行过程中,总会遇到各种各样错误....此外,我们也需要跟踪程序执行,查看变量值是否正确,这个过程称为调试,Pythonpdb可以让我们以单步方式执行代码....试图访问字典里不存在键 KeyboardInterrupt Ctrl+C被按 NameError 使用一个还未被赋予对象变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误...传入一个调用者不期望值,即使值类型是正确 更多异常 异常名称 描述 BaseException 所有异常基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行...这种以测试为驱动开发模式最大好处就是确保一个程序模块行为符合我们设计测试用例。在将来修改时候,可以极大程度地保证该模块行为仍然是正确

1.4K40

解决ValueError: Could not interpret input day

这个错误通常是由于输入日期格式不正确或无法解释导致。 在本篇文章中,我们将介绍这个错误可能原因,并提供一些解决方案来避免或修复这个错误。...错误原因出现​​ValueError: Could not interpret input day​​错误原因可能有以下几种情况:日期格式不正确:在处理日期时,输入日期格式必须符合特定规则,如"YYYY-MM-DD...总结​​ValueError: Could not interpret input day​​错误通常是由于输入日期格式不正确、超出有效范围或日期类型不正确等原因导致。...函数首先尝试使用​​datetime.strptime()​​函数将日期字符串转换为日期对象。如果日期字符串格式不正确,就会引发​​ValueError​​错误。...需要注意是,如果使用错误格式字符串进行解析,或者解析字符串与格式不匹配,会引发​​ValueError​​错误

24650

Python学习笔记(八)·错误调试和测试

finally: print('finally...') print('END') Python错误其实也是class,所有的错误类型都继承自BaseException,所以在使用except...使用try...except捕获错误还有一个巨大好处,就是可以跨越多层调用,比如函数main()调用bar(),bar()调用foo(),结果foo()出错了,这时,只要main()捕获到了,就可以处理...如果可以选择Python已有的内置错误类型(比如ValueError,TypeError),尽量使用Python内置错误类型。...其实这种错误处理方式不但没病,而且相当常见。捕获错误目的只是记录一,便于后续追踪。但是,由于当前函数不知道应该怎么处理该错误,所以,最恰当方式是继续往上抛,让顶层调用者去处理。...这种以测试为驱动开发模式最大好处就是确保一个程序模块行为符合我们设计测试用例。在将来修改时候,可以极大程度地保证该模块行为仍然是正确

1.2K30

Python 3 学习笔记:异常代码调试

这些异常有的可能是语法错误,如关键字输入错误调用错误等,这一类异常都是显式,很好发现;还有一种就是隐式错误,只用在使用时才会被发现,和使用操作有关。...下面介绍一 Python 常见异常提示: 异常类型.jpg 异常处理语句 try … except … 在使用时,将可能产生异常代码放在 try 语句中,把处理结果放在 except 语句中,这样...如果不指定异常名称,则表示捕获全部可能发生异常。...程序测试 使用 IDE 调试 基本上所有的 IDE 都具有代码调试功能,如 Python 自带 IDLE 和 PyCharm 等等。一般都是在出现异常地方设置断点,然后在此处查看数据值是否正确。...使用 assert 语句调试 该语句一般用于对程序在某个时刻必须满足条件进行验证, 1 assert expression [reason] 其中,expression 是一个条件表达式,如果为假则抛出

44220

Python 错误类型

浮动指针错误 浮点运算失败时引发。 GeneratorExit 调用生成器 close()方法时引发。 导入错误 找不到导入模块时引发。 索引错误 当序列索引超出范围时引发。...TabError 当缩进由不一致制表符和空格组成时引发。 系统误差 解释器检测到内部错误时引发。 系统退出 由 sys.exit()函数引发。 类型错误 当函数或操作应用于不正确类型对象时引发。...unicode 翻译错误 当转换过程中出现与 Unicode 相关错误时引发。 值错误 当函数获得类型正确但值不正确参数时引发。 零分割错误 当除法或模块运算第二个操作数为零时引发。...当函数参数类型不合适时,会抛出ValueError。...module>int('xyz')ValueError: invalid literal for int() with base 10: 'xyz' Copy 名称错误 找不到对象时抛出NameError

19520

Python学习手册之Python异常和

在之前几篇文章中,你已经看到过异常。当程序运行错误是出现,比如不正确调用和代码不规范等。当你程序出现意外情况是就会发生异常并终止运行。...NameError:使用未声明变量。 SyntaxError:代码语法错误。 TypeError:当操作或函数处理不合适类型。 ValueError:内建操作或函数,接收到类型正确,但值不正确。...可以使用 open 函数第二个参数来指定打开文件模式。...特别注意:使用 "w" 模式时,如果文件已经存在,会把旧文件内容全部都清除掉。 文件打开后应该使用 close 方法关闭文件。...写入模式,如果文件存在将清除全部内容并往文件写入新内容。

1.1K10

一文看懂 .NET 异常处理机制、原则以及最佳实践

StackTrace 包含用来确定错误位置堆栈跟踪(当有调试信息如 PDB 时,这里就会包含源代码文件名和源代码行号) InnerException 包含内部异常信息 Source 这个属性包含导致错误应用程序或对象名称...然而大多数情况我们都考虑使用 .NET 中自带异常类,因此可以充分利用 Exception 类中已有属性在特殊情况报告更详细利于调试异常信息。...IsProfessionalMode 为 true 状态不正确,于是执行了一些非预期操作,甚至可能用到了很多专业模式中才会初始化类型实例(然而没有完成初始化),产生大量额外异常;我们说程序雪崩了...前面我们说过异常仅在真的是异常情况才应该引发,因此如果这个事件中引发了异常,通常也真的意味着发生了错误(差别只是我们能否从错误中恢复而已)。...如果在此事件中监听到异常,通常意味着代码中出现了不正确 async / await 使用(要么应该修改实现避免异常,要么应该正确处理异常并从中恢复错误) 对于 GUI 应用程序,还可以监听 UI 线程上专属全局异常

64341

python基础教程:内置函数(二)

传递0以切换缓冲关闭(仅允许在二进制模式),1选择行缓冲(仅在文本模式可用),并且>1整数以指示固定大小块缓冲区大小(以字节为单位)。...encoding 是用于解码或编码文件编码名称。这应该只在文本模式使用。...有关支持编码列表,请参阅 codecs 模块。 errors 是一个可选字符串参数,用于指定如何处理编码和解码错误 – 这不能在二进制模式使用。...可以使用各种标准错误处理程序(列在 Error Handlers ),但是使用 codecs.register_error() 注册任何错误处理名称也是有效。...标准名称包括: 如果存在编码错误,’strict’ 会引发 ValueError 异常。 默认值 None 具有相同效果。 ‘ignore’ 忽略错误。请注意,忽略编码错误可能会导致数据丢失。

1.3K20

12 Python 基础: 如何优化代码质量,错误调试和测试你必须要懂.md

使用try...except捕获错误还有一个巨大好处,就是可以跨越多层调用,比如函数main()调用foo(),foo()调用bar(),结果bar()出错了,这时,只要main()捕获到了,就可以处理...如果可以选择Python已有的内置错误类型(比如ValueError,TypeError),尽量使用Python内置错误类型。...其实这种错误处理方式不但没病,而且相当常见。捕获错误目的只是记录一,便于后续追踪。但是,由于当前函数不知道应该怎么处理该错误,所以,最恰当方式是继续往上抛,让顶层调用者去处理。...二分法: 简单来说就是,把长长程序分成上下两部分来调试(从中间开始)。在中间进行输出,如果不能运行则向上继续使用二分法,能则向下使用二分法。以此类推,一直缩小范围,最大效率调试代码。...这种以测试为驱动开发模式最大好处就是确保一个程序模块行为符合我们设计测试用例。在将来修改时候,可以极大程度地保证该模块行为仍然是正确

1.2K30

在keras中model.fit_generator()和model.fit()区别说明

日志显示模式。 0 = 安静模式, 1 = 进度条, 2 = 每轮一行。 callbacks: 一系列 keras.callbacks.Callback 实例。一系列可以在训练时使用回调函数。...sample_weight: 训练样本可选 Numpy 权重数组,用于对损失函数进行加权(仅在训练期间)。...ValueError: 在提供输入数据与模型期望不匹配情况。...0 = 安静模式, 1 = 进度条, 2 = 每轮一行。 callbacks: keras.callbacks.Callback 实例列表。在训练时调用一系列回调函数。...其 History.history 属性是连续 epoch 训练损失和评估值,以及验证集损失和评估值记录(如果适用)。 异常 ValueError: 如果生成器生成数据格式不正确

3.2K30

解决ValueError: day is out of range for month问题

这个错误通常是因为使用错误日期,导致月份和日期不匹配。下面介绍一些解决这个问题方法。方法一:检查日期范围最常见问题是使用了不符合实际日期,例如使用了31号日期,但实际上这个月并没有31天。...方法二:使用try-except处理异常如果你确定日期应该是合法,但仍然遇到​​ValueError: day is out of range for month​​错误,可能是因为日期格式不正确。...在这种情况,可以使用​​try-except​​语句来捕获异常并进行处理。...总之,解决​​ValueError: day is out of range for month​​问题方法有很多种,包括检查日期范围、使用try-except处理异常,以及使用合适日期库。...如果输入日期格式不正确,​​strptime​​函数会抛出​​ValueError​​异常。 然后,我们计算起始日期和结束日期之间差值,并将其转换为天数。最后,我们返回日期差值。

96110

针对QuantPython快速入门指南

Python解释器异常输出来做调试。...PyQt4入门(ZetCode) 链接:zetcode.com/gui/pyqt4/ PyQt4是目前Python上最为主流GUI开发库,底层运行是C++开发Qt代码,上层使用Python封装API...来实现调用,运行效率足以满足开发量化交易实时监控界面的需求。...对于Python新手而言,学习PyQt4除了开发GUI外,更重要是吸收PyQt4代码中面向对象(OO)设计模式相关知识。...简单量化策略可以用过程式编程方法来实现(如轮询价格、突破100买、跌破90卖),但是对于复杂量化策略(如期权波动率套利、跨多市场套利等)就需要使用OO设计模式来解耦不同功能模块(信号生成、委托下单

1.5K50

Python: 调试代码和单元测试

断点调试需要借助于IDE(如pycharm, VS code等);Python本身提供工具pdb,但在使用上不如IDE中工具简单。...把上面的测试用例放到一个测试模块里,就是一个完整单元测试。 (1) 如果单元测试通过,说明我们测试这个函数能够正常工作;如果单元测试不通过,要么函数有bug,要么测试条件输入不正确。...(2) 使用单元测试好处是,如果我们后续对abs()函数代码做了修改,只需要再跑一遍单元测试。...由于unittest.TestCase提供了很多内置条件判断,我们只需要调用这些方法就可以断言输出是否是我们所期望。...(4) assertRaises方法可以用来确保一个特定函数调用引发特定异常,它可以通过上下文管理器(with语句)来包装内嵌代码。

79010

一文教你读懂 Python 中异常信息

在上面的错误信息中,异常类型是 NameError,意思是名称使用了一个没定义名称(变量、函数、类)引用。在本例中,引用名称是 someon。...一般情况错误信息最后一行就能定位到错误原因。然后在代码中搜索错误提示中名称"someon",然后发现这是一个拼写错误,然后我们改成 someone 即可。...首先,我们需要看错误信息最后一行,通过最后一行可以知道错误类型以及一些错误原因。 意思是说:调用 greet()时候使用了一个未知参数,这个未知参数就是 greting。...错误消息行告诉我们不能使用 int 执行此操作。 ValueError 当对象不正确时就会引发 ValueError。...前面我们说了很多异常相关知识,但是我们应该如何利用好呢,这里我们就重点说一,如何通过记录异常信息,方便后期程序调试。 下面让我们看一个关于使用 requests 模块例子。

2.4K10

Python内置(2)异常、常量、globals

异常 Python有66个内置异常(exception)类,每个类都旨在供用户,标准库和其他所有人使用,作为解释和捕获代码中错误有意义方法。...如果键是None ,则fetch_from_cache引发 一个ValueError ,指示提供给此函数值不合适。由于该try块只捕获 KeyError,因此此错误直接显示给用户。...如果没有预定义ValueError和KeyError,就不能这样区分错误类型。 关于异常更多内容,如异常子类化,Exception几乎是任何异常父类、BaseException是所有异常父类。...__loader__ __loader__设置为导入在加载模块时使用加载程序对象。这个特定模块在_frozen_importlib模块中定义,并且是用于导入内置模块内容。...它指的是Python在调试模式运行。默认情况,Python始终在调试模式运行。

92220

Python 编程 | 连载 18 - 异常处理

捕获异常 可以对try-except代码中异常进行捕获,再不确定是那种异常情况可以使用异常基类Exception进行捕获 def divid(x, y): res = 0 try...使用异常不匹配程序仍然不能正确执行 捕获多个异常 可以通过连续添加except代码块方式捕获多个异常。...KeyError 没有指定键时出现异常 NameError 指定变量不存在时出现异常 SyntaxError Python语法错误出现异常 SystemError 系统错误出现异常 ValueError...raise ValueError('这是自定义异常信息') 自定义异常 自定义异常类必须: 继承Exception基类 类构造函数中定义错误信息 def divid(x, y): if...res = divid(1, 2) print(res) res_01 = divid('stark', 'tony') 这里使用 raise 关键字输出错误信息,除此之外还可以自定义异常类来进行异常捕获

60030

Python教程(19)——python异常处理

, ZeroDivisionError): print("输入不是有效整数或除数不能为零") 在这个示例中,我们使用了一个元组(ValueError, ZeroDivisionError)作为异常类型参数...捕获所有异常:这种方式是最方便快捷,因为很多时候开发人员也不知道程序要触发异常具体名称,直接捕获所有异常,是最快捷。...异常类型 说明 Exception 所有异常基类 SyntaxError 语法错误,通常是由于代码书写不符合语法规则造成 IndentationError 缩进错误,通常是由于缩进不正确造成 NameError...名称错误,通常是在代码中使用了一个未定义变量或函数名 TypeError 类型错误,通常是在进行不兼容类型操作时引发 ValueError错误,通常是在逻辑上不合理或无效值被传递时引发...,通常是在尝试进行除以零运算时引发 AssertionError 断言错误,通常是在调用assert语句时条件为False时引发 ImportError 导入错误,通常是在导入模块或包时出现问题时引发

15910
领券