The attached application crashes.
The expected output is "123", as per the description at http://doc.trolltech.com/4.7/qscriptvalue.html#construct: "Calling construct() can cause an exception to occur in the script engine; in that case, construct() returns the value that was thrown".
It didn't crash in 4.5, but the output was wrong there as well ("[object Object]", i.e. it looks like it returned a new object rather than the exception value).