本文共 820 字,大约阅读时间需要 2 分钟。
在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层出不穷。注意错误的传递方式为:错误的throw为值传递,错误的catch为引用传递。int main(){ int a=1; try { throw a; } catch(int &b) // 捕获int型异常,减少开销 { cout<<"Something wrong happened: "<<
下面这篇关于错误处理的博客可以看下:
ps: 在c++11标准中出现了noexcept声明,表明函数没有异常错误,
这样可以减少代码的复杂程度。转载于:https://blog.51cto.com/13824643/2135298