当前位置: 技术问答>linux和unix
讨论讨论,当错误发生时,并用if语句测试出时,应该返回怎样的值
来源: 互联网 发布时间:2015-10-07
本文导语: 讨论讨论,当错误发生时,并用if语句测试出时,应该返回怎样的值,比如 1) db_open() { ...... ...... if ( (dab ->idxfd = open (db->name,oflag,mode) ) datoff = lseek (db->datfd, offset, whence) ) == -1 ) ...
讨论讨论,当错误发生时,并用if语句测试出时,应该返回怎样的值,比如
1) db_open()
{
......
......
if ( (dab ->idxfd = open (db->name,oflag,mode) ) datoff = lseek (db->datfd, offset, whence) ) == -1 )
err_dump(:lseek error");/*这种处理错误的方法是直接kill死所在进程(即直 接推出,连值都不返回*/
大家谈谈在什么时候用第一种方法,什么时候用第二种方法?
1) db_open()
{
......
......
if ( (dab ->idxfd = open (db->name,oflag,mode) ) datoff = lseek (db->datfd, offset, whence) ) == -1 )
err_dump(:lseek error");/*这种处理错误的方法是直接kill死所在进程(即直 接推出,连值都不返回*/
大家谈谈在什么时候用第一种方法,什么时候用第二种方法?
|
用哪一种都不是绝对的,这要看出错的地方对程序的影响有多大,如果由于出错导致程序不能实现正常的技能,则必须退出。如果不影响的话,就可以只返回一个error就可以了。
例如:
读写文件的一个程序,open失败的话,正常机能无效,必须退出
如果程序在打开配置文件的时候出错,读取失败的话,可以使用默认值的情况下,就没有必要退出,返回error就可以了
例如:
读写文件的一个程序,open失败的话,正常机能无效,必须退出
如果程序在打开配置文件的时候出错,读取失败的话,可以使用默认值的情况下,就没有必要退出,返回error就可以了
|
第一种比较好:主程序有控制权。
第二种可以用在测试版本中。
第二种可以用在测试版本中。
|
感觉第一种比较好,写出来的程序应该比较健壮,呵呵
|
try()
{
}
具体自己看资料喽
{
}
具体自己看资料喽
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。