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