在c语言中没有异常处理的机制,所有的异常都是靠函数返回值判断的。
而在c++中则存在这样的机制来保证异常的处理,这也是c++吸引c程序员
的原因之一。
尽管博主不太喜欢c++,但c++在某些特性非常适合用于c语言中。
异常处理机制就是其中之一。
异常处理的方法是典型的三段式结构:
try{
statements in which errors may occure ;
// inner the try block , throw statements exists !
}
catch( data ){
operations of the data to deal the errors ;
}
一旦出现错误就退回到最近的catch语句中实现错误的处理,建议throw的
数据类型为一个自定义的error类,这样在返回时可以携带大量的错误信息,
便于调试; 特别是在如今大型的项目中,bug层出不穷。
ps: 在c++11标准中出现了noexcept声明,表明函数没有异常错误,
这样可以减少代码的复杂程度。