NAME
Mac::Safari::JavaScript::Exception - exception class to represent JS errors
SYNOPSIS
use Mac::Safari::JavaScript qw(safari_js);
eval {
safari_js "compile time error!";
};
if ($@) {
say "'$@' at line ".$@->line;
}
DESCRIPTION
Error class for errors originating from Mac::Safari::JavaScript.
Constructors
- new(%params)
-
Creates a new instance of the object. Expects the read only attributes (described below) as parameters. You shouldn't have to ever call this - these objects should be constructed by Mac::Safari::JavaScript
Accessors
The following read only accessors are avalible
- error
-
The original error object.
- name
-
The type of the error. This can be one of the following:
- CustomError
- EvalError
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
The name
CustomError
will be used for any error thrown with thethrow
keyword by you in your code. Other error codes are assigned by Safari based on the type of exception that occurs. - message
-
The string describing the error as set by the browser. This value will not be set if you simply throw a string (the string will be contained in the
error
accessor) - line
-
The line number the error occured on.
This is only set for browser raised errors or if you throw an exception object. Throwing a string will not
- expressionBeginOffset
-
This value is not avalble on modern Safari (since Version 5.1.3 (7534.53.10)). This will only be set if you manually throw an exception object (and only an object, not a string.)
The index of the first character of your source code that threw the exception object.
- expressionEndOffset
-
This value is not avalble on modern Safari (since Version 5.1.3 (7534.53.10)). This will only be set if you manually throw an exception object (and only an object, not a string.)
The index of the last character of your source code that threw the exception object.
- sourceId
-
The unique identifier for the originating source of the error.
(The odd case for this accessor matches the odd case that Safari itself uses)
Methods
- to_string
-
The stringiftication of this error.
This method is automatically called if you use this object in a string context.
AUTHOR
Written by Mark Fowler <mark@twoshortplanks.com>
Copryright Mark Fowler 2011. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
BUGS
Bugs should be reported to me via the CPAN RT system. http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Mac::Safari::JavaScript