错误检查
来源:互联网 发布:oracle 字段sql 死锁 编辑:程序博客网 时间:2024/04/30 05:09
昨天写代码遇到一个问题:该不该进行错误检查? 拿来抛砖引玉,请资深的童鞋来指点一下。
1、案例分析
string makePolygonBlockId(float location, uint64_t scale){ if (fabs(location-INVALID_POSITION) < FLOAT_ZERO) return ""; uint64_t scaleFlag = _getScaleFlag(scale); if (scaleFlag == 0) return "" uint64_t xm = (location.first+180)*LON_LAN_TO_M; uint64_t blockId = scaleFlag + (xm/scale)*LON_BIT; char str_blockId[MAX_POLYGON_BLOCK]; snprintf(str_blockId, MAX_POLYGON_BLOCK, "%llx", blockId); return string(str_blockId);}
第14行snprintf要不要进行错误检查?
孤舟分析:
1、根据上文代码,已经确保blockId是一个数值型变量
2、64位整型值转十六进制字符串,长度占17个字节('\0'), str_blockId[MAX_POLYGON_BLOCK]已保证
所以,不需要错误检查。str_blockId所在的内存损坏应该不会出现,OS会检错兼容,如果真要出错,那就是CPU疯了,错误检查也没什么意义。所以我觉得不需要错误检查了。
例子很小,不知道自己现在的分析的有没有道理,请有经验的童鞋,给些指点。
2、错误检查
1、要明确列举可能出现的错误类型
2、判断在当前上下文环境下,可能出现此错误吗
3、重点关注有IO代码段的检查(磁盘IO,网络IO,进程交互的地方),和 用户输入的参数的检查
请有经验的同学,过来讨论指点下。
0 0
- 错误检查
- 错误检查
- 检查代码错误
- 错误检查思路
- 程序错误检查工具
- EDAC检查内存错误
- 网页错误检查工具
- valgrind检查内存错误
- EDAC检查内存错误
- 【C++错误检查】binary '>>' :
- bash脚本错误检查
- 先决条件检查失败错误
- js检查错误
- chkdsk检查修复磁盘错误
- 用函数简化错误检查
- VC++6错误检查工具
- 代码检查错误列表总结
- WPF TextBox自定义错误检查
- oracle异常
- 0012-APK-Activity-Wallpaper
- NYOJ105九的余数
- 沿对角线填充矩阵
- 妈妈的人生哲学:时间会把尊严还给你
- 错误检查
- oracle 视图
- tiny6410裸机实验第5章--------------DDR(代码重定位)
- 如何实现自己特定的内存管理,如何正确替换C++中的全局运算符new和delete
- 顺序栈的c语言实现(程序可运行)。。。2014.5.11
- python-setuptools is needed by impala-shell-1.2.3-1.p0.352.el6.x86_64
- windows visual studio 2012下MPI并行环境搭建
- 沿对角线填充矩阵
- Android文件系统的结构及目录用途、操作方法