shuishen
2022-11-02 764cb58899b8ca0e9632a5e83c6950569442c41c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/**
 * Cesium - https://github.com/CesiumGS/cesium
 *
 * Copyright 2011-2020 Cesium Contributors
 *
 * 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.
 *
 * Columbus View (Pat. Pend.)
 *
 * Portions licensed separately.
 * See https://github.com/CesiumGS/cesium/blob/master/LICENSE.md for full licensing details.
 */
define(['exports', './when-8d13db60'], function (exports, when) { 'use strict';
 
    /**
         * Constructs an exception object that is thrown due to an error that can occur at runtime, e.g.,
         * out of memory, could not compile shader, etc.  If a function may throw this
         * exception, the calling code should be prepared to catch it.
         * <br /><br />
         * On the other hand, a {@link DeveloperError} indicates an exception due
         * to a developer error, e.g., invalid argument, that usually indicates a bug in the
         * calling code.
         *
         * @alias RuntimeError
         * @constructor
         * @extends Error
         *
         * @param {String} [message] The error message for this exception.
         *
         * @see DeveloperError
         */
        function RuntimeError(message) {
            /**
             * 'RuntimeError' indicating that this exception was thrown due to a runtime error.
             * @type {String}
             * @readonly
             */
            this.name = 'RuntimeError';
 
            /**
             * The explanation for why this exception was thrown.
             * @type {String}
             * @readonly
             */
            this.message = message;
 
            //Browsers such as IE don't have a stack property until you actually throw the error.
            var stack;
            try {
                throw new Error();
            } catch (e) {
                stack = e.stack;
            }
 
            /**
             * The stack trace of this exception, if available.
             * @type {String}
             * @readonly
             */
            this.stack = stack;
        }
 
        if (when.defined(Object.create)) {
            RuntimeError.prototype = Object.create(Error.prototype);
            RuntimeError.prototype.constructor = RuntimeError;
        }
 
        RuntimeError.prototype.toString = function() {
            var str = this.name + ': ' + this.message;
 
            if (when.defined(this.stack)) {
                str += '\n' + this.stack.toString();
            }
 
            return str;
        };
 
    exports.RuntimeError = RuntimeError;
 
});