code: function parseCatchClause() {
          var param;
  
          expectKeyword('catch');
  
          expect('(');
          if (match(')')) {
              throwUnexpected(lookahead());
          }
  
          param = parseVariableIdentifier();
          // 12.14.1
          if (strict && isRestrictedWord(param.name)) {
              throwErrorTolerant({}, Messages.StrictCatchVariable);
          }
  
          expect(')');
  
          return {
              type: Syntax.CatchClause,
              param: param,
              body: parseBlock()
          };
      }
docs: 12.14 The try statement