text: // This file was procedurally generated from the following sources:
  // - src/dstr-binding/ary-ptrn-elem-obj-val-null.case
  // - src/dstr-binding/error/try.template
  /*---
  description: Nested object destructuring with a null value (try statement)
  esid: sec-runtime-semantics-catchclauseevaluation
  features: [destructuring-binding]
  flags: [generated]
  info: |
      Catch : catch ( CatchParameter ) Block
  
      [...]
      5. Let status be the result of performing BindingInitialization for
         CatchParameter passing thrownValue and catchEnv as arguments.
      [...]
  
      13.3.3.6 Runtime Semantics: IteratorBindingInitialization
  
      BindingElement : BindingPattern Initializeropt
  
      1. If iteratorRecord.[[done]] is false, then
         [...]
         e. Else
            i. Let v be IteratorValue(next).
            [...]
      4. Return the result of performing BindingInitialization of BindingPattern
         with v and environment as the arguments.
  
      13.3.3.5 Runtime Semantics: BindingInitialization
  
      BindingPattern : ObjectBindingPattern
  
      1. Let valid be RequireObjectCoercible(value).
      2. ReturnIfAbrupt(valid).
  ---*/
  
  assert.throws(TypeError, function() {
    try {
      throw [null];
    } catch ([{ x }]) {}
  });
  