This is part 19 of my series, Basics of ActivePerl. In this part of the series, we look at basics of errors in ActivePerl.
Note: If you cannot see the code or if you think anything is missing (broken link, image absent), just contact me at forchatrans@yahoo.com. That is, contact me for the slightest problem you have about what you are reading.
Programming Errors
There are three types of programming errors. In other words, there are three types of errors that can occur in a program. You have Syntax Errors, Logic Errors and Runtime Errors.
Syntax Errors
This is the wrong use of syntax. These errors are wrong statements. When you type a statement, which is wrong, that is a syntax error. Such a statement cannot be executed. For example, in a statement you can type a variable without the $ sign. Under this condition, your program does not work. Depending on how you configure your ActivePerl installation, such an error might be indicated by ActivePerl to the output device just before the program is to be executed, when you give a command to run the program. With a syntax error, the program is not executed.
Logic Errors
In this case, ActivePerl understands your program very well; the program is executed. However, the program will not do what you wanted it to do. It will do something slightly different or completely different. The fault is yours. For example, a loop that is required to do 10 iterations might do 5 iterations, because you coded it mistakenly to do 5 iterations. Another example is that a loop might iterate infinitely, because the condition you gave for the loop made it that way. Logic Errors occur when the program is being executed. The only way to solve this problem is to test your program very well before you hand it to the customer (who asked for it).
Runtime Errors
Runtime errors occur when the program is being executed as a result of the fact that you did not take certain factor into consideration when coding. For example, let us say your code is to divide 8 by some denominator that the user inputs. If the user inputs 2, the division will work, giving you 4 as answer. If the user inputs zero, the division will not work, because 8/0 is undefined. When a runtime error occurs your program normally crashes (and stops). To solve runtime errors, you have to write extra code that will prevent the execution of the particular code segment or statement from taking place, under certain conditions. In this division example, you have to write code that will prevent division by zero from taking place, and possibly informing the user of the mistake he made by inputting zero as a denominator.
Preventing Runtime Errors
The following code illustrates how to prevent the above error (division by zero).
use strict;
print "Content-Type: text/html\n\n";
my $numerator = 8;
my $denominator = 2;
if ($denominator != 0 )
{
my $answer = $numerator/$denominator;
print $answer;
}
else
{
print "Division by zero is not allowed!";
}
The particular code segment here is that of the if-block. Read and try the above code if you have not already done so. The code should be self-explanatory. Change the value of the denominator from 2 to 0 and try the code again.
Let us stop here for this part of the series. We continue in the next part.
Chrys
Published by Chrys Forcha
I have more than 10 years experience in computer programming, software, electronics and telecommunications. I have a First Degree in Electronics and a Master's Degree in Technical Education. As well a... View profile
- White Space in ActivePerlIn this part of the series, I explain what is white space and how it is used in ActivePerl.
- ActivePerl Loop StatementsIn ActivePerl you have the do-while loop, the while loop and the for loop. We shall see what all these mean in this article.
- ActivePerl Comparison and Arithmetic OperatorsIn this part of the series, we talk about some common ActivePerl operators.
- ActivePerl HashesIn this part of the series I explain the meaning of Hashes in ActivePerl.
- Some ActivePerl Predefined SubroutinesIn this part of the series, we look at some ActivePerl predefined subroutines.
- PHP Error Basics
- Error Basics in C
- Basics of ActivePerl Variable Scope
- Getting Started with ActivePerl
- Basics of ActivePerl Variables
- Basics of ActivePerl Reference
- ActivePerl Basic Syntax



