| JE documentation | Contained in the JE distribution. |
JE::Object::Error::SyntaxError - JavaScript SyntaxError object class
use JE::Object::Error::SyntaxError;
# Somewhere in code called by an eval{}
die new JE::Object::Error::SyntaxError $global, "(Error message here)";
# Later:
$@->prop('message'); # error message
$@->prop('name'); # 'SyntaxError'
"$@"; # 'SyntaxError: ' plus the error message
This class implements JavaScript SyntaxError objects for JE.
See JE::Types and JE::Object::Error.
| JE documentation | Contained in the JE distribution. |
package JE::Object::Error::SyntaxError; our $VERSION = '0.042'; use strict; use warnings; our @ISA = 'JE::Object::Error'; require JE::Object::Error; require JE::String;
sub class { 'SyntaxError' } sub new_constructor { shift->JE::Object::new_constructor(shift, sub { __PACKAGE__->new(@_); }, sub { my $proto = shift; (my $global = $$proto->{global})->prototype_for( SyntaxError => $proto ); bless $proto, __PACKAGE__; $proto->prototype( $global->prototype_for('Error') || $global->prop('Error')->prop('prototype') ); $proto->prop({ name => 'name', value => JE::String->_new($global, 'SyntaxError'), dontenum => 1, }); $proto->prop({ name => 'message', value => JE::String->_new($global, 'Syntax error'), dontenum => 1, }); }, ); } return "a true value";