code: function parseCatchClause() {
          var param;
  
          expectKeyword('catch');
  
          expect('(');
          if (!match(')')) {
              param = parseExpression();
              // 12.14.1
              if (strict && param.type === Syntax.Identifier && isRestrictedWord(param.name)) {
                  throwError({}, Messages.StrictCatchVariable);
              }
          }
          expect(')');
  
          return {
              type: Syntax.CatchClause,
              param: param,
              guard: null,
              body: parseBlock()
          };
      }
docs: 12.14 The try statement