Test exception handling with various arithmetic and logic operators, it checks the following things:<br/>
<ul>
    <li>In assignment expressions the lefthand side is not modified if the right hand side throws</li>
    <li>If the left hand side of a binary operator throws then the right hand should not be executed</li>
    <li>If valueOf/toString throws in the left hand expression of a binop it does not prevent evaluation of the right hand expression, but does prevent evaluation of toString/valueOf on the rhs.</li>
</ul>
<div id="log"></div>

<script >
    var binaryOps = ['-', '+', '*', '/', '%', '|', '&', '^'];
</script>
<script src="script-tests/exception-sequencing-binops.js" type="text/javascript" charset="utf-8"></script>
