我想在调试器中检查异常。
当我有
except on e:exception do
Run Code Online (Sandbox Code Playgroud)
这很简单,我可以检查一下e变量
但是,许多异常处理程序没有on e:exception子句。
是否有可以检查的特殊变量(例如$ exception)或其他不需要更改源的异常检查方法。
我记得这样做(尽管内存可能有问题),但是还没有找到一种方法来做到这一点。
背景:我编写了一些 ruby 转换脚本,它们从 MS SQL 获取数据进行转换,然后将其存储回数据库我正在使用微型 tds gem,它可以在 freetds 上工作
--问题:对于 sql 中 varchar max 且字符串长度大于 2048 的列,当使用微小 tds 提取数据时,这些列会被截断为 2048 长度。
Freetds 协议 7.2 确实解决了这个问题,但在 Windows 平台上不可用,代码在 Mac 上完美运行。但由于与 ETL 工具集成,我必须将其部署在 Windows 计算机上。
——有没有人能解决这个问题。
我曾研究过Project Euler问题并决定添加时间,因此通过以下代码段添加timeit
到时间main()
(为方便起见,将全局存储RESULT
在 main()
中)
t = timeit.timeit(main, 'gc.enable()', number=1)
print("# Euler", PROBLEM, ".py RESULT: ", RESULT))
Run Code Online (Sandbox Code Playgroud)
工作正常。但是,有些人跑得太快了,我以为我可以做到这一点。
t = timeit.timeit(main, 'gc.enable()', number=1)
if (t < 0.001):
t2 = timeit.timeit(main, 'gc.enable()', number=1000)
Run Code Online (Sandbox Code Playgroud)
它有时有效。但是,如果我反复运行它,我有时会得到 t2 的负值。例如,使用 Euler #2,我通过连续运行 5 次得到这些结果。
# Euler2.py RESULT: 4613732 3.17869758716347e-05 seconds
repeats timing -3.7966224778973e-05 sec per call
# Euler2.py RESULT: 4613732 3.1558464885145785e-05 seconds
repeats timing 2.4836235955056177e-05 sec per call
# Euler2.py RESULT: 4613732 3.131149340411519e-05 seconds
repeats timing -3.5684903805855466e-05 sec …
Run Code Online (Sandbox Code Playgroud) 我没有看到任何语法错误,我的代码编译干净没有完成部分.这是该单元的最后几行.
function boolAsTF(b:boolean): string; inline;
begin
if b then result := 'T' else result := 'F';
end;
finalization
SyncMgr.Free;
end.
Run Code Online (Sandbox Code Playgroud)