   Exception: somevar = new eval().  :: Function is not a constructor
   Exception: somevar = new parseInt().  :: Function is not a constructor
   Exception: somevar = new parseFloat().  :: Function is not a constructor
   Exception: somevar = new isNaN().  :: Function is not a constructor
   Exception: somevar = new isFinite().  :: Function is not a constructor
   Exception: somevar = new decodeURI().  :: Function is not a constructor
   Exception: somevar = new encodeURI().  :: Function is not a constructor
   Exception: somevar = new decodeURIComponent().  :: Function is not a constructor
   Exception: somevar = new encodeURIComponent().  :: Function is not a constructor
No Exception: somevar = new Object()
No Exception: somevar = new Function()
No Exception: somevar = new Array()
No Exception: somevar = new String()
No Exception: somevar = new Boolean()
No Exception: somevar = new Number()
No Exception: somevar = new Date()
No Exception: somevar = new RegExp()
No Exception: somevar = new Error()
No Exception: somevar = new EvalError()
No Exception: somevar = new RangeError()
No Exception: somevar = new ReferenceError()
No Exception: somevar = new SyntaxError()
No Exception: somevar = new TypeError()
No Exception: somevar = new URIError()
   Exception: somevar = new Object.prototype.toString().  :: Function is not a constructor
   Exception: somevar = new Object.prototype.toLocaleString().  :: Function is not a constructor
   Exception: somevar = new Object.prototype.valueOf().  :: Function is not a constructor
   Exception: somevar = new Object.prototype.hasOwnProperty().  :: Function is not a constructor
   Exception: somevar = new Object.prototype.isPrototypeOf().  :: Function is not a constructor
   Exception: somevar = new Object.prototype.propertyIsEnumerable().  :: Function is not a constructor
No Exception: somevar = new Function.prototype.constructor()
   Exception: somevar = new Function.prototype.toString().  :: Function is not a constructor
   Exception: somevar = new Function.prototype.apply().  :: Function is not a constructor
   Exception: somevar = new Function.prototype.call().  :: Function is not a constructor
No Exception: somevar = new Array.prototype.constructor()
   Exception: somevar = new Array.prototype.toString().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.toLocaleString().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.concat().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.join().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.pop().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.push().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.reverse().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.shift().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.slice().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.sort().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.splice().  :: Function is not a constructor
   Exception: somevar = new Array.prototype.unshift().  :: Function is not a constructor
No Exception: somevar = new String.prototype.constructor()
   Exception: somevar = new String.prototype.toString().  :: Function is not a constructor
   Exception: somevar = new String.prototype.valueOf().  :: Function is not a constructor
   Exception: somevar = new String.prototype.charAt().  :: Function is not a constructor
   Exception: somevar = new String.prototype.charCodeAt().  :: Function is not a constructor
   Exception: somevar = new String.prototype.concat().  :: Function is not a constructor
   Exception: somevar = new String.prototype.indexOf().  :: Function is not a constructor
   Exception: somevar = new String.prototype.lastIndexOf().  :: Function is not a constructor
   Exception: somevar = new String.prototype.localeCompare().  :: Function is not a constructor
   Exception: somevar = new String.prototype.match().  :: Function is not a constructor
   Exception: somevar = new String.prototype.replace().  :: Function is not a constructor
   Exception: somevar = new String.prototype.search().  :: Function is not a constructor
   Exception: somevar = new String.prototype.slice().  :: Function is not a constructor
   Exception: somevar = new String.prototype.split().  :: Function is not a constructor
   Exception: somevar = new String.prototype.substring().  :: Function is not a constructor
   Exception: somevar = new String.prototype.toLowerCase().  :: Function is not a constructor
   Exception: somevar = new String.prototype.toLocaleLowerCase().  :: Function is not a constructor
   Exception: somevar = new String.prototype.toUpperCase().  :: Function is not a constructor
   Exception: somevar = new String.prototype.toLocaleUpperCase().  :: Function is not a constructor
   Exception: somevar = new String.prototype.anchor().  :: Function is not a constructor
   Exception: somevar = new String.prototype.big().  :: Function is not a constructor
   Exception: somevar = new String.prototype.blink().  :: Function is not a constructor
   Exception: somevar = new String.prototype.bold().  :: Function is not a constructor
   Exception: somevar = new String.prototype.fixed().  :: Function is not a constructor
   Exception: somevar = new String.prototype.fontcolor().  :: Function is not a constructor
   Exception: somevar = new String.prototype.fontsize().  :: Function is not a constructor
   Exception: somevar = new String.prototype.italics().  :: Function is not a constructor
   Exception: somevar = new String.prototype.link().  :: Function is not a constructor
   Exception: somevar = new String.prototype.small().  :: Function is not a constructor
   Exception: somevar = new String.prototype.strike().  :: Function is not a constructor
   Exception: somevar = new String.prototype.sub().  :: Function is not a constructor
   Exception: somevar = new String.prototype.sup().  :: Function is not a constructor
   Exception: somevar = new String.prototype.substr().  :: Function is not a constructor
   Exception: somevar = new String.fromCharCode().  :: Function is not a constructor
No Exception: somevar = new Boolean.prototype.constructor()
   Exception: somevar = new Boolean.prototype.toString().  :: Function is not a constructor
   Exception: somevar = new Boolean.prototype.valueOf().  :: Function is not a constructor
No Exception: somevar = new Number.prototype.constructor()
   Exception: somevar = new Number.prototype.toString().  :: Function is not a constructor
   Exception: somevar = new Number.prototype.toLocaleString().  :: Function is not a constructor
   Exception: somevar = new Number.prototype.valueOf().  :: Function is not a constructor
   Exception: somevar = new Number.prototype.toFixed().  :: Function is not a constructor
   Exception: somevar = new Number.prototype.toExponential().  :: Function is not a constructor
   Exception: somevar = new Number.prototype.toPrecision().  :: Function is not a constructor
   Exception: somevar = new Math.abs().  :: Function is not a constructor
   Exception: somevar = new Math.acos().  :: Function is not a constructor
   Exception: somevar = new Math.asin().  :: Function is not a constructor
   Exception: somevar = new Math.atan().  :: Function is not a constructor
   Exception: somevar = new Math.atan2().  :: Function is not a constructor
   Exception: somevar = new Math.ceil().  :: Function is not a constructor
   Exception: somevar = new Math.cos().  :: Function is not a constructor
   Exception: somevar = new Math.exp().  :: Function is not a constructor
   Exception: somevar = new Math.floor().  :: Function is not a constructor
   Exception: somevar = new Math.log().  :: Function is not a constructor
   Exception: somevar = new Math.max().  :: Function is not a constructor
   Exception: somevar = new Math.min().  :: Function is not a constructor
   Exception: somevar = new Math.pow().  :: Function is not a constructor
   Exception: somevar = new Math.random().  :: Function is not a constructor
   Exception: somevar = new Math.round().  :: Function is not a constructor
   Exception: somevar = new Math.sin().  :: Function is not a constructor
   Exception: somevar = new Math.sqrt().  :: Function is not a constructor
   Exception: somevar = new Math.tan().  :: Function is not a constructor
No Exception: somevar = new Date.prototype.constructor()
   Exception: somevar = new Date.prototype.toString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toDateString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toTimeString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toLocaleString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toLocaleDateString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.valueOf().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getTime().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getFullYear().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCFullYear().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getMonth().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCMonth().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getDate().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCDate().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getDay().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCDay().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getHours().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCHours().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getMinutes().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCMinutes().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getSeconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCSeconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getMilliseconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getUTCMilliseconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getTimezoneOffset().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setTime().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setMilliseconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setUTCMilliseconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setSeconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setUTCSeconds().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setMinutes().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setUTCMinutes().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setHours().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setUTCHours().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setDate().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setUTCDate().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setMonth().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setUTCMonth().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setFullYear().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setUTCFullYear().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toUTCString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toGMTString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toLocaleTimeString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.toUTCString().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.setYear().  :: Function is not a constructor
   Exception: somevar = new Date.prototype.getYear().  :: Function is not a constructor
   Exception: somevar = new Date.parse().  :: Function is not a constructor
   Exception: somevar = new Date.UTC().  :: Function is not a constructor
No Exception: somevar = new RegExp.prototype.constructor()
   Exception: somevar = new RegExp.prototype.exec().  :: Function is not a constructor
   Exception: somevar = new RegExp.prototype.test().  :: Function is not a constructor
   Exception: somevar = new RegExp.prototype.toString().  :: Function is not a constructor
No Exception: somevar = new Error.prototype.constructor()
   Exception: somevar = new Error.prototype.name().  :: Object doesn't support this action
   Exception: somevar = new Error.prototype.message().  :: Object doesn't support this action
   Exception: somevar = new Error.prototype.toString().  :: Function is not a constructor
