最简单的情况:
throw什么类型,catch对应什么类型,如果本级没有合适的catch,则会向上一级传递如果抛出的异常一直没有捕获,可能会调用默认的异常处理函数,导致程序终止。
运行时错误如果放任不管,系统就会执行默认的操作,终止程序运行,也就是我们常说的程序崩溃(Crash)。
C++ 提供了异常(Exception)机制,让我们能够捕获运行时错误,给程序一次“起死回生”的机会,或者至少告诉用户发生了什么再终止程序。
int main(int argc, char *argv[]) { Mat image; image = imread("/home/linjiaqin/picture/bg1.ng"); try { if (!image.data) throw String("pic not"); } catch(String e) { cerr<<e; } cout<<image.size()<<endl; }