Program is as follows.
use Data::Dumper; #using the Dumper function to get the internal s
+tructure
use Error qw(:try); #specifying to going to use the try block.This
+ is enough to use all the
# things in it
try { #defining a try block
my @array; #declaring an array
throw Error::Simple "Oops!Array is Empty." unless(@array); #throwi
+ng the exception if the array is an empty
}
catch Error::Simple with { #catching the error
my $error=shift; #getting the Error hash
print Dumper $error; #printing it in dumper function to know all t
+he details such as filename,line number,the error message,package inf
+ormations,etc.,
}
except { #defining an except block
print "Exception Block\n";
}
otherwise { #defining an otherwise block
print "Otherwise Block\n";
}
The above program correctly throws the error in try block and it caught in the corresponding catch block.It prints the exception informations.
If I commented the catch block statements in the above program,both except block and otherwise block statements are executed.This is what my doubt?