12.14-3.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-3
description: >
catch doesn't change declaration scope - var declaration are
visible outside when name different from catch parameter
--- |
876 |
12.14-4.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-4
description: catch introduces scope - block-local vars must shadow outer vars
--- |
789 |
12.14-6.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-6
description: >
catch introduces scope - block-local function expression must
shadow outer function expression
--- |
870 |
12.14-7.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-7
description: catch introduces scope - scope removed when exiting catch block
--- |
1103 |
12.14-8.js |
---
info: |
local vars must not be visible outside with block
local functions must not be visible outside with block
local function expresssions should not be visible outside with block
local vars must shadow outer vars
local functions must shadow outer functions
local function expresssions must shadow outer function expressions
eval should use the appended object to the scope chain
es5id: 12.14-8
description: >
catch introduces scope - scope removed when exiting catch block
(properties)
--- |
808 |
12.14-9.js |
---
es5id: 12.14-9
description: catch introduces scope - name lookup finds outer variable
--- |
461 |
12.14-10.js |
---
es5id: 12.14-10
description: catch introduces scope - name lookup finds function parameter
--- |
457 |
12.14-11.js |
---
es5id: 12.14-11
description: catch introduces scope - name lookup finds inner variable
--- |
465 |
12.14-12.js |
---
es5id: 12.14-12
description: catch introduces scope - name lookup finds property
--- |
446 |
12.14-13.js |
---
es5id: 12.14-13
description: catch introduces scope - updates are based on scope
flags: [noStrict]
--- |
849 |
12.14-14.js |
---
es5id: 12.14-14
description: >
Exception object is a function, when an exception parameter is
called as a function in catch block, global object is passed as
the this value
flags: [noStrict]
--- |
669 |
12.14-15.js |
---
es5id: 12.14-15
description: >
Exception object is a function which is a property of an object,
when an exception parameter is called as a function in catch
block, global object is passed as the this value
flags: [noStrict]
--- |
745 |
12.14-16.js |
---
es5id: 12.14-16
description: >
Exception object is a function which update in catch block, when
an exception parameter is called as a function in catch block,
global object is passed as the this value
flags: [noStrict]
--- |
848 |
browser.js |
|
0 |
catch-parameter-boundnames-restriction-arguments-eval-throws-strict.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
flags: [onlyStrict]
--- |
496 |
catch-parameter-boundnames-restriction-arguments-negative-early-strict.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
515 |
catch-parameter-boundnames-restriction-eval-eval-throws-strict.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
flags: [onlyStrict]
--- |
491 |
catch-parameter-boundnames-restriction-eval-negative-early-strict.js |
---
esid: sec-strict-mode-of-ecmascript
description: >
It is a SyntaxError if a CatchParameter occurs within strict mode code and BoundNames of CatchParameter contains either eval or arguments (13.15.1).
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
510 |
completion-values-fn-finally-abrupt.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: >
Returns the correct completion values of try-catch-finally(Abrupt) in functions
info: |
TryStatement : try Block Catch Finally
Let B be the result of evaluating Block.
If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
Else, let C be B.
Let F be the result of evaluating Finally.
If F.[[Type]] is normal, set F to C.
Return Completion(UpdateEmpty(F, undefined)).
--- |
2353 |
completion-values-fn-finally-normal.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: >
Returns the correct completion values of try-catch-finally(Normal) in functions
info: |
TryStatement : try Block Catch Finally
Let B be the result of evaluating Block.
If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
Else, let C be B.
Let F be the result of evaluating Finally.
If F.[[Type]] is normal, set F to C.
Return Completion(UpdateEmpty(F, undefined)).
--- |
2122 |
completion-values-fn-finally-return.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: >
Returns the correct completion values of try-catch-finally(Return) in functions
info: |
TryStatement : try Block Catch Finally
Let B be the result of evaluating Block.
If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
Else, let C be B.
Let F be the result of evaluating Finally.
If F.[[Type]] is normal, set F to C.
Return Completion(UpdateEmpty(F, undefined)).
--- |
2154 |
completion-values.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: >
Direct eval try/catch/finally for completion value
info: |
TryStatement : try Block Catch Finally
Let B be the result of evaluating Block.
If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
Else, let C be B.
Let F be the result of evaluating Finally.
If F.[[Type]] is normal, set F to C.
Return Completion(UpdateEmpty(F, undefined)).
--- |
2187 |
cptn-catch-empty-break.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from catch block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch
...
2. If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with parameter B.[[Value]].
...
4. Return Completion(UpdateEmpty(C, undefined)).
--- |
796 |
cptn-catch-empty-continue.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from catch block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch
...
2. If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with parameter B.[[Value]].
...
4. Return Completion(UpdateEmpty(C, undefined)).
--- |
799 |
cptn-catch-finally-empty-break.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch Finally
...
4. Let F be the result of evaluating Finally.
...
6. Return Completion(UpdateEmpty(F, undefined)).
--- |
769 |
cptn-catch-finally-empty-continue.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Catch Finally
...
4. Let F be the result of evaluating Finally.
...
6. Return Completion(UpdateEmpty(F, undefined)).
--- |
772 |
cptn-catch.js |
---
es6id: 13.15.8
description: Completion value from `catch` clause of a try..catch statement
info: |
TryStatement : try Block Catch
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
a. Let C be CatchClauseEvaluation of Catch with parameter B.[[value]].
3. Else B.[[type]] is not throw,
[...]
4. If C.[[type]] is return, or C.[[type]] is throw, return Completion(C).
5. If C.[[value]] is not empty, return Completion(C).
6. Return Completion{[[type]]: C.[[type]], [[value]]: undefined,
[[target]]: C.[[target]]}.
13.15.7 Runtime Semantics: CatchClauseEvaluation
Catch : catch ( CatchParameter ) Block
[...]
7. Let B be the result of evaluating Block.
8. Set the running execution context’s LexicalEnvironment to oldEnv.
9. Return Completion(B).
--- |
1169 |
cptn-finally-empty-break.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Finally
...
2. Let F be the result of evaluating Finally.
...
4. Return Completion(UpdateEmpty(F, undefined)).
--- |
736 |
cptn-finally-empty-continue.js |
---
esid: sec-try-statement-runtime-semantics-evaluation
description: Abrupt completion from finally block calls UpdatEmpty()
info: |
13.15.8 Runtime Semantics: Evaluation
TryStatement : try Block Finally
...
2. Let F be the result of evaluating Finally.
...
4. Return Completion(UpdateEmpty(F, undefined)).
--- |
739 |
cptn-finally-from-catch.js |
---
es6id: 13.15.8
description: >
Completion value from `finally` clause of a try..catch..finally statement
(following execution of `catch` block)
info: |
TryStatement : try Block Catch Finally
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
a. Let C be CatchClauseEvaluation of Catch with parameter B.[[value]].
[...]
4. Let F be the result of evaluating Finally.
5. If F.[[type]] is normal, let F be C.
6. If F.[[type]] is return, or F.[[type]] is throw, return Completion(F).
7. If F.[[value]] is not empty, return NormalCompletion(F.[[value]]).
8. Return Completion{[[type]]: F.[[type]], [[value]]: undefined,
[[target]]: F.[[target]]}.
13.15.7 Runtime Semantics: CatchClauseEvaluation
Catch : catch ( CatchParameter ) Block
[...]
7. Let B be the result of evaluating Block.
8. Set the running execution context’s LexicalEnvironment to oldEnv.
9. Return Completion(B).
--- |
1526 |
cptn-finally-skip-catch.js |
---
es6id: 13.15.8
description: >
Completion value from `finally` clause of a try..catch..finally statement
(when `catch` block is not executed)
info: |
TryStatement : try Block Catch Finally
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
[...]
3. Else B.[[type]] is not throw, let C be B.
4. Let F be the result of evaluating Finally.
5. If F.[[type]] is normal, let F be C.
6. If F.[[type]] is return, or F.[[type]] is throw, return Completion(F).
7. If F.[[value]] is not empty, return NormalCompletion(F.[[value]]).
8. Return Completion{[[type]]: F.[[type]], [[value]]: undefined,
[[target]]: F.[[target]]}.
--- |
1504 |
cptn-finally-wo-catch.js |
---
es6id: 13.15.8
description: Completion value from `finally` clause of a try..finally statement
info: |
TryStatement : try Block Finally
1. Let B be the result of evaluating Block.
2. Let F be the result of evaluating Finally.
3. If F.[[type]] is normal, let F be B.
4. If F.[[type]] is return, or F.[[type]] is throw, return Completion(F).
5. If F.[[value]] is not empty, return Completion(F).
6. Return Completion{[[type]]: F.[[type]], [[value]]: undefined,
[[target]]: F.[[target]]}.
--- |
936 |
cptn-try.js |
---
es6id: 13.15.8
description: Completion value from `try` clause of a try..catch statement
info: |
TryStatement : try Block Catch
1. Let B be the result of evaluating Block.
2. If B.[[type]] is throw, then
[...]
3. Else B.[[type]] is not throw,
a. Let C be B.
4. If C.[[type]] is return, or C.[[type]] is throw, return Completion(C).
5. If C.[[value]] is not empty, return Completion(C).
6. Return Completion{[[type]]: C.[[type]], [[value]]: undefined,
[[target]]: C.[[target]]}.
--- |
957 |
dstr |
|
|
early-catch-duplicates.js |
---
esid: sec-try-statement-static-semantics-early-errors
es6id: 13.15.1
description: >
It is a Syntax Error if BoundNames of CatchParameter contains any duplicate
elements.
negative:
phase: parse
type: SyntaxError
--- |
450 |
early-catch-function.js |
---
esid: sec-try-statement-static-semantics-early-errors
description: >
Redeclaration of CatchParameter with directly nested FunctionDeclaration in function context.
info: |
13.15.1 Static Semantics: Early Errors
It is a Syntax Error if any element of the BoundNames of CatchParameter also
occurs in the LexicallyDeclaredNames of Block.
negative:
phase: parse
type: SyntaxError
--- |
656 |
early-catch-lex.js |
---
esid: sec-try-statement-static-semantics-early-errors
es6id: 13.15.1
description: >
It is a Syntax Error if any element of the BoundNames of CatchParameter
also occurs in the LexicallyDeclaredNames of Block.
negative:
phase: parse
type: SyntaxError
features: [let]
--- |
507 |
optional-catch-binding-finally.js |
---
author: Lucas Azzola
esid: pending
description: try/catch/finally syntax with omission of the catch binding
features: [optional-catch-binding]
info: |
Optional Catch Binding
Catch[Yield, Await, Return]:
(...)
catch Block[?Yield, ?Await, ?Return]
--- |
450 |
optional-catch-binding-lexical.js |
---
author: Lucas Azzola
esid: pending
description: lexical environment runtime semantics for optional catch binding
features: [optional-catch-binding]
info: |
Runtime Semantics: CatchClauseEvaluation
Catch : catch Block
Let oldEnv be the running execution context's LexicalEnvironment.
Let catchEnv be NewDeclarativeEnvironment(oldEnv).
Set the running execution context's LexicalEnvironment to catchEnv.
(...)
Set the running execution context's LexicalEnvironment to oldEnv.
Return Completion(B).
--- |
953 |
optional-catch-binding-parens.js |
---
author: Lucas Azzola
esid: pending
description: >
It is a SyntaxError to have a try/catch statement with an empty CatchParameter
features: [optional-catch-binding]
info: |
Catch[Yield, Await, Return]:
catch ( CatchParameter[?Yield, ?Await] ) Block[?Yield, ?Await, ?Return]
negative:
phase: parse
type: SyntaxError
--- |
538 |
optional-catch-binding-throws.js |
---
author: Lucas Azzola
esid: pending
description: errors can be thrown from catch clause without binding
features: [optional-catch-binding]
info: |
Runtime Semantics: CatchClauseEvaluation
Catch : catch Block
(...)
Let B be the result of evaluating Block.
(...)
Return Completion(B).
--- |
603 |
optional-catch-binding.js |
---
author: Lucas Azzola
esid: pending
description: try/catch syntax with omission of the catch binding
features: [optional-catch-binding]
info: |
Optional Catch Binding
Catch[Yield, Await, Return]:
(...)
catch Block[?Yield, ?Await, ?Return]
--- |
431 |
S12.14_A1.js |
---
info: |
The production TryStatement : try Block Catch is evaluated as follows: 2.
If Result(1).type is not throw, return Result(1)
es5id: 12.14_A1
description: >
Executing TryStatement : try Block Catch. The statements doesn't
cause actual exceptions
--- |
1339 |
S12.14_A2.js |
---
info: Throwing exception with "throw" and catching it with "try" statement
es5id: 12.14_A2
description: >
Checking if execution of "catch" catches an exception thrown with
"throw"
--- |
1074 |
S12.14_A3.js |
---
info: Catching system exception with "try" statement
es5id: 12.14_A3
description: Checking if execution of "catch" catches system exceptions
--- |
1004 |
S12.14_A4.js |
---
info: Sanity test for "catch(Indetifier) statement"
es5id: 12.14_A4
description: Checking if deleting an exception fails
flags: [noStrict]
--- |
889 |
S12.14_A5.js |
---
info: |
The production TryStatement: "try Block Finally" and the production
TryStatement: "try Block Catch Finally"
es5id: 12.14_A5
description: Checking "catch" catches the Identifier in appropriate way
--- |
1410 |
S12.14_A6.js |
---
info: "The production TryStatement: \"try Block Catch Finally\""
es5id: 12.14_A6
description: >
Executing sequence of "try" statements, using counters with
varying values within
--- |
1222 |
S12.14_A7_T1.js |
---
info: Evaluating the nested productions TryStatement
es5id: 12.14_A7_T1
description: >
Checking if the production of nested TryStatement statements
evaluates correct
--- |
3730 |
S12.14_A7_T2.js |
---
info: Evaluating the nested productions TryStatement
es5id: 12.14_A7_T2
description: >
Checking if the production of nested TryStatement statements
evaluates correct
--- |
3174 |
S12.14_A7_T3.js |
---
info: Evaluating the nested productions TryStatement
es5id: 12.14_A7_T3
description: >
Checking if the production of nested TryStatement statements
evaluates correct
--- |
4489 |
S12.14_A8.js |
---
info: "\"try\" with \"catch\" or \"finally\" statement within/without an \"if\" statement"
es5id: 12.14_A8
description: Throwing exception within an "if" statement
--- |
942 |
S12.14_A9_T1.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T1
description: Loop within a "try" Block, from where exception is thrown
--- |
537 |
S12.14_A9_T2.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T2
description: >
"try" statement within a loop, the statement contains "continue"
statement
--- |
1977 |
S12.14_A9_T3.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T3
description: >
"try" statement within a loop, the statement contains "break"
statement
--- |
2415 |
S12.14_A9_T4.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T4
description: >
"try" statement within a loop, the statement contains "continue"
and "break" statements
--- |
1106 |
S12.14_A9_T5.js |
---
info: |
"try" with "catch" or "finally" statement within/without an "do while"
statement
es5id: 12.14_A9_T5
description: >
Checking if exceptions are thrown correctly from wherever of loop
body
--- |
939 |
S12.14_A10_T1.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T1
description: >
Throwing exception while executing iteration statement placed into
try Block
--- |
556 |
S12.14_A10_T2.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T2
description: Try statement inside loop, where use continue loop
--- |
1923 |
S12.14_A10_T3.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T3
description: Try statement inside loop, where use break
--- |
2365 |
S12.14_A10_T4.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T4
description: Try statement inside loop, where combinate using break and continue
--- |
1070 |
S12.14_A10_T5.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "while"
statement
es5id: 12.14_A10_T5
description: Throw some exceptions from different place of loop body
--- |
913 |
S12.14_A11_T1.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T1
description: Loop inside try Block, where throw exception
--- |
512 |
S12.14_A11_T2.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T2
description: Try statement inside loop, where use continue loop
--- |
2081 |
S12.14_A11_T3.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T3
description: Try statement inside loop, where use break
--- |
2419 |
S12.14_A11_T4.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for"
statement
es5id: 12.14_A11_T4
description: Try statement inside loop, where combinate using break and continue
--- |
1087 |
S12.14_A12_T1.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T1
description: Loop inside try Block, where throw exception
--- |
626 |
S12.14_A12_T2.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T2
description: Try statement inside loop, where use continue loop
--- |
2211 |
S12.14_A12_T3.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T3
description: Try statement inside loop, where use break
--- |
2545 |
S12.14_A12_T4.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "for-in"
statement
es5id: 12.14_A12_T4
description: Try statement inside loop, where combinate using break and continue
--- |
1176 |
S12.14_A13_T1.js |
---
info: Using "try" with "catch" or "finally" statement with a "return" statement
es5id: 12.14_A13_T1
description: Using try/catch syntax construction
--- |
1563 |
S12.14_A13_T2.js |
---
info: Using "try" with "catch" or "finally" statement with a "return" statement
es5id: 12.14_A13_T2
description: Using try/finally syntax construction
--- |
3308 |
S12.14_A13_T3.js |
---
info: Using "try" with "catch" or "finally" statement with a "return" statement
es5id: 12.14_A13_T3
description: Using try/catch/finally syntax construction
--- |
3825 |
S12.14_A14.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "with"
statement
es5id: 12.14_A14
description: Using try/catch/finally in With and With in try/catch/finally
flags: [noStrict]
--- |
1965 |
S12.14_A15.js |
---
info: |
Using "try" with "catch" or "finally" statement within/without a "switch"
statement
es5id: 12.14_A15
description: Insert try/catch/finally to switch statement
--- |
2353 |
S12.14_A16_T1.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T1
description: Checking if pure "try" syntax construction passes
negative:
phase: parse
type: SyntaxError
--- |
439 |
S12.14_A16_T2.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T2
description: Checking if execution of "catch" with no "try" fails
negative:
phase: parse
type: SyntaxError
--- |
444 |
S12.14_A16_T3.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T3
description: Checking if execution of "finally" with no "try" fails
negative:
phase: parse
type: SyntaxError
--- |
448 |
S12.14_A16_T5.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T5
description: >
Catch: "catch (Identifier ) Block". Checking if execution of
"catch" with no Block fails
negative:
phase: parse
type: SyntaxError
--- |
498 |
S12.14_A16_T6.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T6
description: >
Block: "{ StatementList }". Checking if execution of "try{
catch{}{}" fails
negative:
phase: parse
type: SyntaxError
--- |
486 |
S12.14_A16_T7.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T7
description: >
Block: "{ StatementList }". Checking if execution of "try{}
catch(){" fails
negative:
phase: parse
type: SyntaxError
--- |
486 |
S12.14_A16_T8.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T8
description: >
Block: "{ StatementList }". Catch: "catch (Identifier ) Block".
Checking if execution of "try{} catch(){finally{}" fails
negative:
phase: parse
type: SyntaxError
--- |
541 |
S12.14_A16_T9.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T9
description: Checking if execution of "catch(){} finally{}" fails
negative:
phase: parse
type: SyntaxError
--- |
458 |
S12.14_A16_T10.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T10
description: "Catch: \"catch (Identifier ) Block\""
negative:
phase: parse
type: SyntaxError
--- |
451 |
S12.14_A16_T11.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T11
description: >
Catch and Finally are placed into the Block of "try" (whitle
expected outside)
negative:
phase: parse
type: SyntaxError
--- |
515 |
S12.14_A16_T12.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T12
description: Embedded "try" statements followed by two "catch" statements
negative:
phase: parse
type: SyntaxError
--- |
493 |
S12.14_A16_T13.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T13
description: >
Catch: "catch (Identifier ) Block". Checking if execution of "22"
passes at the place of Identifier of "catch"
negative:
phase: parse
type: SyntaxError
--- |
531 |
S12.14_A16_T14.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T14
description: Checking if passing argument to "try" statement fails
negative:
phase: parse
type: SyntaxError
--- |
462 |
S12.14_A16_T15.js |
---
info: |
TryStatement: "try Block Catch" or "try Block Finally" or "try Block
Catch Finally"
es5id: 12.14_A16_T15
description: >
Finally: "finally Block". Checking if passing argument to "try"
statement fails
negative:
phase: parse
type: SyntaxError
--- |
496 |
S12.14_A17.js |
---
info: Using "try" with "catch" or "finally" statement in a constructor
es5id: 12.14_A17
description: Creating exceptions within constructor
--- |
997 |
S12.14_A18_T1.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T1
description: Catching undefined
--- |
413 |
S12.14_A18_T2.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T2
description: Catching null
--- |
392 |
S12.14_A18_T3.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T3
description: Catching boolean
--- |
1165 |
S12.14_A18_T4.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T4
description: Catching string
--- |
981 |
S12.14_A18_T5.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T5
description: Catching Number
--- |
1719 |
S12.14_A18_T6.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T6
description: Catching Object
--- |
1503 |
S12.14_A18_T7.js |
---
info: Catching objects with try/catch/finally statement
es5id: 12.14_A18_T7
description: Catching Array
--- |
1720 |
S12.14_A19_T1.js |
---
info: Catching system exceptions of different types with try statement
es5id: 12.14_A19_T1
description: Testing try/catch syntax construction
--- |
1682 |
S12.14_A19_T2.js |
---
info: Catching system exceptions of different types with try statement
es5id: 12.14_A19_T2
description: Testing try/catch/finally syntax construction
--- |
2453 |
scope-catch-block-lex-close.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Removal of lexical environment for `catch` block
info: |
[...]
8. Let B be the result of evaluating Block.
[...]
features: [let]
--- |
569 |
scope-catch-block-lex-open.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Creation of new lexical environment for `catch` block
info: |
[...]
8. Let B be the result of evaluating Block.
[...]
features: [let]
--- |
653 |
scope-catch-block-var-none.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Retainment of existing variable environment for `catch` block
info: |
[...]
8. Let B be the result of evaluating Block.
[...]
--- |
731 |
scope-catch-param-lex-close.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Removal of lexical environment for `catch` parameter
--- |
465 |
scope-catch-param-lex-open.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Creation of new lexical environment for `catch` parameter
--- |
638 |
scope-catch-param-var-none.js |
---
esid: sec-runtime-semantics-catchclauseevaluation
description: Retainment of existing variable environment for `catch` parameter
flags: [noStrict]
--- |
945 |
shell.js |
---
description: |
This defines the number of consecutive recursive function calls that must be
made in order to prove that stack frames are properly destroyed according to
ES2015 tail call optimization semantics.
defines: [$MAX_ITERATIONS]
--- |
481 |
static-init-await-binding-invalid.js |
---
esid: sec-class-definitions-static-semantics-early-errors
description: BindingIdentifier may not be `await` within class static blocks
info: |
BindingIdentifier : Identifier
[...]
- It is a Syntax Error if the code matched by this production is nested,
directly or indirectly (but not crossing function or static initialization
block boundaries), within a ClassStaticBlock and the StringValue of
Identifier is "await".
negative:
phase: parse
type: SyntaxError
features: [class-static-block]
--- |
770 |
static-init-await-binding-valid.js |
---
esid: sec-class-definitions-static-semantics-early-errors
description: The `await` keyword is interpreted as an identifier within arrow function bodies
info: |
ClassStaticBlockBody : ClassStaticBlockStatementList
[...]
- It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true.
features: [class-static-block]
--- |
580 |
tco-catch-finally-strict.js |
---
description: Statement within statement is a candidate for tail-call optimization.
esid: sec-static-semantics-hascallintailposition
flags: [onlyStrict]
features: [tail-call-optimization]
includes: [tcoHelper.js]
--- |
662 |
tco-catch-strict.js |
---
description: Statement within statement is a candidate for tail-call optimization.
esid: sec-static-semantics-hascallintailposition
flags: [onlyStrict]
features: [tail-call-optimization]
includes: [tcoHelper.js]
--- |
668 |
tco-finally-strict.js |
---
description: Statement within statement is a candidate for tail-call optimization.
esid: sec-static-semantics-hascallintailposition
flags: [onlyStrict]
features: [tail-call-optimization]
includes: [tcoHelper.js]
--- |
646 |