В Вс., 04/12/2011 в 17:26 +0100, Jesus Garcia пишет: > > > So UDFs should not raise exceptions. Period. The bug is in it, not > > in > > Firebird. > > > > > May be i don't explain well, i know the bug is in the UDF, but an > exception not catched in my app, would not restart my computer.
Yes, certainly. Because that app runs in outer protection ring relative to operating system. If you add a driver (running in ring 0) and let it throw unhandled exception, you do have to restart your computer. (If you remember MSDOS which knew nothing about protection rings - any serious bug in user program required computer restart.) The only way to have absolutely save UDFs is to run them in separate process. But I'm afraid that this will make them work much slower. Catching unhandled exceptions from foreign module is impossible in almost all cases. Code invoking UDFs does catch what it can catch. To make sure try to access wrong address in your UDF and see what happens. BTW, in your case the best solution is to avoid UDF at all - just use builtin power() function. ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel