pjs/js/tests/ecma_2/Statements/try-005.js

55 строки
1.4 KiB
JavaScript

/**
* File Name: try-005.js
* ECMA Section:
* Description: The try statement
*
* This test has a try with one catch block but no finally. Same
* as try-004, but the eval statement is called from a function, not
* directly from within the try block.
*
* Author: christine@netscape.com
* Date: 11 August 1998
*/
var SECTION = "try-005";
var VERSION = "ECMA_2";
var TITLE = "The try statement";
startTest();
writeHeaderToLog( SECTION + " "+ TITLE);
var tc = 0;
var testcases = new Array();
TryToCatch( "Math.PI", Math.PI );
TryToCatch( "Thrower(5)", "Caught 5" );
TryToCatch( "Thrower(\"some random exception\")", "Caught some random exception" );
test();
function Thrower( v ) {
throw "Caught " + v;
}
function Eval( v ) {
return eval( v );
}
/**
* Evaluate a string. Catch any exceptions thrown. If no exception is
* expected, verify the result of the evaluation. If an exception is
* expected, verify that we got the right exception.
*/
function TryToCatch( value, expect ) {
try {
result = Eval( value );
} catch ( e ) {
result = e;
}
testcases[tc++] = new TestCase(
SECTION,
"eval( " + value +" )",
expect,
result );
}