(token, messageFormat)
| 5100 | // Throw an exception |
| 5101 | |
| 5102 | function throwError(token, messageFormat) { |
| 5103 | var error, |
| 5104 | args = Array.prototype.slice.call(arguments, 2), |
| 5105 | msg = messageFormat.replace( |
| 5106 | /%(\d)/g, |
| 5107 | function (whole, idx) { |
| 5108 | assert(idx < args.length, 'Message reference must be in range'); |
| 5109 | return args[idx]; |
| 5110 | } |
| 5111 | ); |
| 5112 | |
| 5113 | if (typeof token.lineNumber === 'number') { |
| 5114 | error = new Error('Line ' + token.lineNumber + ': ' + msg); |
| 5115 | error.index = token.range[0]; |
| 5116 | error.lineNumber = token.lineNumber; |
| 5117 | error.column = token.range[0] - lineStart + 1; |
| 5118 | } else { |
| 5119 | error = new Error('Line ' + lineNumber + ': ' + msg); |
| 5120 | error.index = index; |
| 5121 | error.lineNumber = lineNumber; |
| 5122 | error.column = index - lineStart + 1; |
| 5123 | } |
| 5124 | |
| 5125 | error.description = msg; |
| 5126 | throw error; |
| 5127 | } |
| 5128 | |
| 5129 | function throwErrorTolerant() { |
| 5130 | try { |
no test coverage detected