文章转自 http://blog.csdn.net/u013455166/article/details/47042665
在程序设计中,常用下列3种不同的出错处理方式:
(1)用exit终止执行并报告错误
(2)以函数的返回值区别正确或错误返回
(3)设置一个整型变量的函数参数以区别正确返回或某种错误返回
它们有什么样的优缺点呢?
1)用exit语句终止执行并报告错误,没有回收占用的资源,但一般不会出现问题,操作系统会自动回收。另外,退出地点太多不利于调试。如果封装一个exit调试函数就另当别论.
2:以函数的返回值区别正确返回或错误返回如果你不关心为什么出错的话用这种
3:设置一个整型变量的函数参数以区别正确返回或某种错误返回需要了解错误的详细原因用这个。
exit用于程序执行下去没有意义的时候,如果不是致命错误,尽量不要使用exit退出,大部 分的错误都应该可以用程序作出适当的处理,没有人喜欢用一个动不动就出错退出的软件。是否使用第2,3种处理方式要看在你的上下文中是否有处理这个错误的 足够信息,要看上层是否关心这个错误.
。。。。。。。。。。。。。。。。。。。。。。。。。。 补充 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
增:三种输入输出方法的优缺点
1、通过scanf 和 printf 语句 。
2、通过函数的参数显式传递。
3、通过全局变量隐式传递。
通过全局变量隐式传递:增加了模块之间的耦合度,但是在多线程环境中会产生同步性的问题。
通过函数参数显式传递:实现信息之间的传递的隐蔽性,较为安全。
用scanf和printf直接进行输入输出的好处是形象、直观,但缺点是需要对其进行格式控制,较为烦琐,如果出现错误,则会引起整个系统的崩溃。
通过scanf和printf语句与其他两个方式不具可比性,前者是针对用户的输入输出方式,后者是函数间或者模块间的数据传递方式,本质来说不属于I/O范畴.