1 // Copyright 2009 The Closure Library Authors. All Rights Reserved.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
16 * @fileoverview Provides a base class for custom Error objects such that the
17 * stack is correctly maintained.
19 * You should never need to throw goog.debug.Error(msg) directly, Error(msg) is
24 goog.provide('goog.debug.Error');
29 * Base class for custom error objects.
30 * @param {*=} opt_msg The message associated with the error.
34 goog.debug.Error = function(opt_msg) {
36 // Attempt to ensure there is a stack trace.
37 if (Error.captureStackTrace) {
38 Error.captureStackTrace(this, goog.debug.Error);
40 var stack = new Error().stack;
47 this.message = String(opt_msg);
50 goog.inherits(goog.debug.Error, Error);
54 goog.debug.Error.prototype.name = 'CustomError';