C可以抛出错误让C++ catch吗? 错误是不是C++独有? 错误的实现原理是什么

C可以抛出异常让C++ catch吗? 异常是不是C++独有? 异常的实现原理是什么?我有一个dll,不知用什么语言写的,

C可以抛出异常让C++ catch吗? 异常是不是C++独有? 异常的实现原理是什么?
我有一个dll,不知用什么语言写的,在调用其中一个函数时出现"程序内部错误"而直接退出调用函数

如:
void fun()
{
  ....
  dll_fun();//这里直接退出了,不往下运行
  ....
}

但用try..catch...就不会直接退出了.

问:
1.C可以抛出异常让C++ catch吗?
2.异常是不是C++独有?
3.异常的实现原理是什么?

[解决办法]
可以捕捉一些非致命的错误;
异常其实就是程序错误。