PageRenderTime 12ms CodeModel.GetById 2ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 1ms

/resources/public/goog/debug/error.js

https://github.com/matklad/breakout
JavaScript | 54 lines | 16 code | 9 blank | 29 comment | 4 complexity | 5adfad331a82b7865b65ff6b443a42d1 MD5 | raw file
 1// Copyright 2009 The Closure Library Authors. All Rights Reserved.
 2//
 3// Licensed under the Apache License, Version 2.0 (the "License");
 4// you may not use this file except in compliance with the License.
 5// You may obtain a copy of the License at
 6//
 7//      http://www.apache.org/licenses/LICENSE-2.0
 8//
 9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS-IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15/**
16 * @fileoverview Provides a base class for custom Error objects such that the
17 * stack is correctly maintained.
18 *
19 * You should never need to throw goog.debug.Error(msg) directly, Error(msg) is
20 * sufficient.
21 *
22 */
23
24goog.provide('goog.debug.Error');
25
26
27
28/**
29 * Base class for custom error objects.
30 * @param {*=} opt_msg The message associated with the error.
31 * @constructor
32 * @extends {Error}
33 */
34goog.debug.Error = function(opt_msg) {
35
36  // Attempt to ensure there is a stack trace.
37  if (Error.captureStackTrace) {
38    Error.captureStackTrace(this, goog.debug.Error);
39  } else {
40    var stack = new Error().stack;
41    if (stack) {
42      this.stack = stack;
43    }
44  }
45
46  if (opt_msg) {
47    this.message = String(opt_msg);
48  }
49};
50goog.inherits(goog.debug.Error, Error);
51
52
53/** @override */
54goog.debug.Error.prototype.name = 'CustomError';