错误、异常和程序调式(7)

第7章 错误、异常和程序调式

try:
    <语句块>
except <异常名1>:
    <语句块>
except <异常名2>:
    <语句块>
......
else:
    <语句块>
finally:
    <语句块>

用raise手工抛出异常
raise 异常名
raise 类名

assert语句
assert <条件测试>   #assert是简化的raise语句,引发异常的前提是其后面的条件测试为假

自定义异常类
class MyError(Exception):
    pass
如果需要异常类带有一定的提示信息,可以重写__init__和__str__这两个方法

调试语句快函数:
run(statement[,globals[,locals]]),statement为要调试的语句块,以字符串的形式表示;globals全局环境变量,可选;locals局部环境变量,可选

调试函数:
runcall(function[,argument,....]),function 函数名,argument函数的参数

测试程序:doctest模块和unittest模块
doctest模块测试函数:
testmode
testfile

时间: 2024-12-15 05:08:05

错误、异常和程序调式(7)的相关文章

错误-终止应用程序由于未捕获的异常的nsinvalidargumentexception’,原因:“[:]:未知的UIView setImage选择器送到实例0x8d78d20”

1 UIImage *image = [UIImage imageNamed:tempAppInfo.icon]; 2 UIImageView *appIcon = (UIImageView *) [appView viewWithTag:0]; 3 appIcon.image = image; 每次执行到第三句时就报错: 更改办法: 把UIImageView的tag改掉不要用0. 原因分析:?. 错误-终止应用程序由于未捕获的异常的nsinvalidargumentexception',原因:

Expo大作战(十七)--expo结合哨兵(sentry)进行错误异常记录

简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xd

WPF 线程中异常导致程序崩溃

原文:WPF 线程中异常导致程序崩溃 一般我们WPF中都加全局捕获,避免出现异常导致崩溃. Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException)

如何防止后台线程抛出的异常让程序崩溃退出

原文:如何防止后台线程抛出的异常让程序崩溃退出 如果你的程序抛了异常,你是怎么处理的呢?等待程序崩溃退出?还是进行补救? 如果是做 UI 开发,很容易就找到 Dispatcher.UnhandledException 事件,然后在事件中进行补救.如果补救成功,可以设置 e.Handled = true 来阻止异常继续让程序崩溃退出.但是,如果是后台线程抛出了异常呢?并没有 Dispatcher 可以用.所以我们就束手就擒让程序自己退出吗? WPF 和 Windows Forms 都是微软的框架,

配置错误_“/”应用程序中的服务器错误。

配置错误 “/”应用程序中的服务器错误. 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错.请检查下面的特定错误详细信息并适当地修改配置文件. 分析器错误消息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的.如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误. 源错误: 行 20: </compilation> 行 21: 行 22: <authentication mode="

C++错误——”无法启动程序”…\xxx.exe” 系统找不到指定的文件”

背景 在VS2010环境下,升级了一个用C++编写的程序,编译生成成功,但是,不能在VS中直接运行(可以通过打开debug文件目录的exe应用程序运行),提示以下错误:"无法启动程序"-\xxx.exe" 系统找不到指定的文件",如截图1. 截图1 解决方法 1.选择工程,右键单击属性,打开工程的属性页,参考截图2: 截图2 2.选择"配置属性->General",选择output directory ,设置为"inherit f

MFC 错误异常,用vs添加资源并为资源定义类后报错:error C2065 : 未声明的标识符

添加了一个Dialog资源,修改了ID之后右击资源添加了一个类,在类里面有一个成员变量: // 对话框数据    enum { IDD = IDD_GETIN }; 而在编译过程中出现报错,错误代号是error C2065 : 未声明的标识符,我的第一反应是为什么我没通过手动添加资源而是通过VS添加都会出现这种情况呢,我想应该是其它地方错误导致此报错吧,但是却没想过,此类错误往往是因为没有包含某个头文件而引起的. 最后我是这样解决的:添加了一个#include"Resource.h"

Error 25007.初始化合成时发生错误。安装程序无法使用 LoadLibraryShim() 加载合成。

安装"Microsoft .NET Framework 2.exe"报错如下: c:\windows\microsoft.net\framework\...类似这种错误都因 .NET Framework受到损害.有一部分程序将无法使用.微软输入法也将瘫痪... ---------------------------Microsoft .NET Framework 2.0 安装程序---------------------------Error 25007.初始化合成时发生错误.安装程序

启动IIS 网站出现错误 另一个程序正在使用此文件,进程无法访问

可能你安装了Apache; IIS启动失败,手工启动它,提示:"另一个程序正在使用此文件,进程无法访问!" 怀疑80端口被其他程序占用,改为8080后正常. 在DOS下输入: netstat -ano 查看80端口信息中的PID号,然后打开任务管理器查看对应PID的程序名称. 打开任务管理器,点击"查看"/选择列,勾选"PID(进程标识符)",然后单击"进程"标签,找到80端口对应的pid,就可以看到是那个程序占用的了.启动I