aboutsummaryrefslogtreecommitdiff
path: root/tools/addon-sdk-1.3/packages/api-utils/docs/traceback.md
blob: fd7ddb5d678adab43699edf6d5e07b3e63fb3659 (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
<!-- 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>