delphi 异常测试(我自己捕捉)
由于最近的短信模块老是报SocketErorr错误,有的时候也不确定是哪里有问题,影响短信的销售,所以这里这样写,把出现的异常捕捉到显示出来。然后跳过这个不发送
------------------------------------------------------------
1.让我们先断开网络测试看下当出现SocketErorr的时候会出现什么异常.
try
MyResult := MyFastSmsApi.HaoSiSmsSend(top_SmsUserName,top_SmsPassWord,frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_task_receiver').AsString,frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_task_content').AsString,'');
except
on E:Exception do ShowMessage(E.ClassName);
end;


下面这样写的代码:确保显示出错的异常原因,跳过异常的不发送

//-----------------------------
{开始发送}
try
MyResult := MyFastSmsApi.HaoSiSmsSend(top_SmsUserName,top_SmsPassWord,frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_task_receiver').AsString,frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_task_content').AsString,'');
except
on E: Exception do
begin
if E.ClassName = 'EIdSocketError' then
begin
//标记还在未发送里,把异常写入发送结果
MyTopSmsTaskApi.MarkTopDoStatusTimeResultByTopTaskId(frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_sms_task_id').AsString,'0',FormatDateTime('yyyy-mm-dd hh:mm:ss',Now),'网络异常('+E.ClassName+')');
//日志显示
frmSmsTaskMain.Memo1.Lines.Add(sLineBreak+'任务ID-----'+frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_sms_task_id').AsString+'-----发送失败-----网络异常('+E.ClassName+')-----自动跳过');
end else begin
MyTopSmsTaskApi.MarkTopDoStatusTimeResultByTopTaskId(frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_sms_task_id').AsString,'0',FormatDateTime('yyyy-mm-dd hh:mm:ss',Now),'本地未知异常('+E.ClassName+')');
frmSmsTaskMain.Memo1.Lines.Add(sLineBreak+'任务ID-----'+frmClientDm.TopSmsTaskShow_adoq.FieldByName('top_sms_task_id').AsString+'-----发送失败-----本地未知异常('+E.ClassName+')-----自动跳过');
end; //自动跳过进入下一个
frmClientDm.TopSmsTaskShow_adoq.Next;
frmSmsTaskMain.ProgressBar1.Position := frmSmsTaskMain.ProgressBar1.Position + 1;
Application.ProcessMessages;
Continue;
end;
end;
delphi 异常测试(我自己捕捉)的更多相关文章
- 廖雪峰Java8JUnit单元测试-2使用JUnit-2异常测试
1.异常测试 对可能抛出的异常进行测试: 异常本身是方法签名的一部分: * public static int parseInt(String s) throws NumberFormatExcept ...
- TestNg 6.异常测试
* 什么时候会用到异常测试??* 在我们期望结果为某一个异常的时候* 比如:我们传入了某些不合法的参数,程序抛出异常* 也就是我的预期结果就是这个异常看以下的一段代码: package com.cou ...
- testng入门教程8 TestNG异常测试
TestNG跟踪异常处理代码提供了一个选项.可以测试是否需要代码抛出异常或不抛出. @Test注释expectedExceptions 参数一起使用.现在,让我们来看看@Test(expectedEx ...
- TestNG异常测试
用@Test(expectedExceptions = xxx) 声明 package com.janson; import org.testng.annotations.Test; public c ...
- TestNG(九) 异常测试
package com.course.testng.suite; import org.testng.annotations.Test; public class ExpectedExeption { ...
- testNG之异常测试
@Test(expectedExceptions = ) 在测试的时候,某些用例的输入条件,预期结果是代码抛出异常,那么这个时候就需要testNG的异常测试,先看一段会抛出异常的代码 exceptio ...
- 转:delphi异常捕获try except语句 和 try finally语句用法
转:http://www.java123.net/v/936977.html 2015-06-24 09:27:48 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来 ...
- delphi异常捕获try except语句 和 try finally语句用法
原文地址:delphi try except语句 和 try finally语句用法以及区别作者:1865898133 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下! ...
- python 异常的引发和捕捉处理
1.什么是异常(exception): 异常是python发现某个地方出现逻辑错误时,抛出一个信号,即异常的引发.如果有捕捉语句在,则异常信号被捕捉,如果没有则会传递到默认异常处理器(终止程序). ...
- SpringMVC09 Converter变流器、数据回显、异常测试
1.配置web.xml文件 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...
随机推荐
- 两个List< string>比较是否相同的N种方法,你用过哪种?
今天在一技术群看一群大佬讨论: 有没有优雅的写法,比较两个List集合中的元素是不是完全一致... 站长最近也无聊,通过群里的聊天记录和给出的参考链接,简单做做总结,万一后面大家能用上呢? 我们做简单 ...
- makefile文件详解
1. make 编译:将源代码文件翻译成处理器可执行的二进制文件的过程,这个过程的时间区间称为编译时 构建:指定多个编译过程的先后顺序 make命令是常用的构建工具,诞生于1977年,主要用于C/C+ ...
- [转帖]Unicode与utf的前世今生
https://www.cnblogs.com/naodong/p/12742987.html 历史上存在两个独立的尝试创立单一字符集的组织,即 国际标准化组织(ISO)于1984年创建的通用字符集( ...
- [转帖]数据库篇-MySql架构介绍
https://zhuanlan.zhihu.com/p/147161770 公众号-坚持原创,码字不易.加微信 : touzinv 关注分享,手有余香~ 本篇咱们也来聊聊mysql物理和逻辑架构,还 ...
- [转帖]Python连接Oracle数据库进行数据处理操作
https://www.dgrt.cn/a/2259443.html?action=onClick 解决以下问题: Python连接Oracle数据库,并查询.提取Oracle数据库中数据? 通过Py ...
- MYSQL使用mydumper备份恢复操作简介
MYSQL使用mydumper备份恢复操作简介 1. 环境准备 第一步是进行下载安装包的操作. 在github以及官网上面有相关的安装介质. 官网为: http://www.mydumper.org/ ...
- 解决刷新SwaggerUi控制台报错
一.问题描述 在浏览器刷新SwaggerUI的页面,控制台就报错: java.lang.NumberFormatException: For input string: "" at ...
- 一招轻松解决node内存溢出问题
node启动项目造成内存溢出的解决办法 我们在使用node启动项目的时在项目较大的时候,可能会造成内存溢出.为什么会造成内存溢出呢? 要回答上面这个问题,我们要了解node中是如何分配内存的. Nod ...
- 【代码片段分享】比 url.QueryEscape 快 7.33 倍的 FastQueryEscape
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 做 profile 发现 url.QueryEscape ...
- SP5464 CT - Counting triangles 题解
题目翻译 题意 有一个网格,左上角是 \((0,0)\),右上角是 \((x,y)\).求这个网格中一共有多少个等腰直角三角形. 输入 第一行给定一个 \(c\),表示有 \(c\) 组数据. 后面 ...