Index: third_party/gsutil/third_party/protorpc/experimental/javascript/closure/debug/error.js |
diff --git a/third_party/gsutil/third_party/protorpc/experimental/javascript/closure/debug/error.js b/third_party/gsutil/third_party/protorpc/experimental/javascript/closure/debug/error.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4ed20f70e333cc455e8f8f943feed393a505a54b |
--- /dev/null |
+++ b/third_party/gsutil/third_party/protorpc/experimental/javascript/closure/debug/error.js |
@@ -0,0 +1,47 @@ |
+// Copyright 2009 The Closure Library Authors. All Rights Reserved. |
+// |
+// Licensed under the Apache License, Version 2.0 (the "License"); |
+// you may not use this file except in compliance with the License. |
+// You may obtain a copy of the License at |
+// |
+// http://www.apache.org/licenses/LICENSE-2.0 |
+// |
+// Unless required by applicable law or agreed to in writing, software |
+// distributed under the License is distributed on an "AS-IS" BASIS, |
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+// See the License for the specific language governing permissions and |
+// limitations under the License. |
+ |
+/** |
+ * @fileoverview Provides a base class for custom Error objects such that the |
+ * stack is correctly maintained. |
+ * |
+ * You should never need to throw goog.debug.Error(msg) directly, Error(msg) is |
+ * sufficient. |
+ * |
+ */ |
+ |
+goog.provide('goog.debug.Error'); |
+ |
+ |
+ |
+/** |
+ * Base class for custom error objects. |
+ * @param {*=} opt_msg The message associated with the error. |
+ * @constructor |
+ * @extends {Error} |
+ */ |
+goog.debug.Error = function(opt_msg) { |
+ |
+ // Ensure there is a stack trace. |
+ this.stack = new Error().stack || ''; |
+ |
+ if (opt_msg) { |
+ this.message = String(opt_msg); |
+ } |
+}; |
+goog.inherits(goog.debug.Error, Error); |
+ |
+ |
+/** @inheritDoc */ |
+goog.debug.Error.prototype.name = 'CustomError'; |