I initial a .net runtime in a native c++ program. Create two JScript engine in this .net runtime, this two engine is created in individual appdomain. When the engine throw out a exception, the c++ side will receive a _com_error. That's fine.
But the weird part is ,as long as the first engine throw out a exception, if the secone one also throw out a exception, I found the exception is same as the first one! Even I unload the first engine and appdomain, the second engine keep throw out the first engine's exception. What a ghost exception!
I did another experiments. As long as the exception is not throwing out to c++ side (handled inside .NET Runtime), the problem is gone.
V8 Engine doesn't have this problem.
But the weird part is ,as long as the first engine throw out a exception, if the secone one also throw out a exception, I found the exception is same as the first one! Even I unload the first engine and appdomain, the second engine keep throw out the first engine's exception. What a ghost exception!
I did another experiments. As long as the exception is not throwing out to c++ side (handled inside .NET Runtime), the problem is gone.
V8 Engine doesn't have this problem.