blob: b52c18322849b48e07c8a308e6bebe9a8ea6ca5a (
plain)
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
|
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!-- contributed by Atul Varma [atul@mozilla.com] -->
<!-- edited by Noelle Murata [fiveinchpixie@gmail.com] -->
The `traceback` module contains functionality similar to
Python's [traceback](http://docs.python.org/library/traceback.html) module.
## JSON Traceback Objects ##
Tracebacks are stored in JSON format. The stack is represented as an
array in which the most recent stack frame is the last element; each
element thus represents a stack frame and has the following keys:
<table>
<tr>
<td><code>filename</code></td>
<td>The name of the file that the stack frame takes place in.</td>
</tr>
<tr>
<td><code>lineNo</code></td>
<td>The line number is being executed at the stack frame.</td>
</tr>
<tr>
<td><code>funcName</code></td>
<td>The name of the function being executed at the stack frame, or
<code>null</code> if the function is anonymous or the stack frame is
being executed in a top-level script or module.</td>
</tr>
</table>
<api name="fromException">
@function
Attempts to extract the traceback from *`exception`*.
@returns {traceback}
JSON representation of the traceback or `null` if not found.
@param exception {exception}
exception where exception is an `nsIException`.
</api>
See [nsIException](https://developer.mozilla.org/en/NsIException) for more
information.
<api name="get">
@function
@returns {JSON}
Returns the JSON representation of the stack at the point that this
function is called.
</api>
<api name="format">
@function
Given a JSON representation of the stack or an exception instance,
returns a formatted plain text representation of it, similar to
Python's formatted stack tracebacks. If no argument is provided, the
stack at the point this function is called is used.
@param [tbOrException] {object}
</api>
|