Errors

Ryan Thomson
Computer Science 35IB
Sir Winston Churchill High School

There are six basic types of computer errors: data entry, accidental, deliberate, software, hardware and transmission. An error must not fall under only one of these types, a single error can also be of one or more types.

Data Entry

Data entry errors occur when a user inputs a value to the computer that is either invalid or of bad type. Suppose that a user inputted a real floating point number when an integer was expected, this would cause a data entry error. Also data entered can be of the correct type but be out of bounds or otherwise invalid and still cause a data entry error.

Accidental

An accidental error occurs when it was not the intent of the the user to initiate the error. This means that if the user where to somehow crash the computer accidentally then that would be classified as an accidental error. Accidental errors also include hardware failure because it was not the intent of the hardware manufacturer for their product to fail( hopefully ).

Deliberate

Deliberate errors occur when the user intentionally causes a computer error. This can be done in any number of ways including, known bad input, viruses, trojan horses and other malicious software.

Software

A software error occurs when any piece of software causes any type of computer error that is possible by software. This includes all errors that do not have anything to do with hardware errors. Examples of this are a program crash.

Hardware

Hardware errors occur when an actual hardware component of a computer fails and thus creates the error. All hardware can be classified as all errors that is not software based. This can be a malfunctioning drive, bad RAM, a burnt-out CPU, etc.

Transmission

A transmission error occurs when there is a problem sending or receiving data between two separate parts of a computer or two separate computers. These errors can be software or hardware based.


Detection

Errors can be detected by using validation. Errors in user input can be detected by validating the inputted value through the use of validation algorithms. After validation has found the presence of an error, appropriate action can be taken to eliminate or prevent the error. Data validation is can be in the form of a full algorithm or a quick code snippet depending on the data type and valid/invalid data range.

Another method of detecting errors is to use parity checks. Parity checks can be used when ever data is transmitted from one computer to another or from separate parts of the computer. A "parity bit" is sent along with the data. This "parity bit" is used to determine whether or not the data was sent or moved correctly.

Here is how it works: before sending or moving the data, the still valid data is checked to see whether it is even or odd (in binary). If it is even, the parity bit is set to "1", if the data is odd, the bit is set to "0". This bit is sent along with the data and when it arrives, it is checked against the data to determine if the data has changed or not.


Prevention

Errors can be prevented through the use of two methods: validation and verification. Validation was already covered in the previous section on detecting errors. When talking in terms of preventing errors, validation is a little different.

Validation is used mainly by programmers in their code to properly check data for validity. Many algorithms exist to do this and most of them are very specific to the data type and its valid range. These algorithms check through the data and then determine whether or not the data is valid.

Verification if similar to validation but it does not always have to be in the form of algorithms or code. Any user can verify his or her data and system to prevent errors. This verification can be in the form of checking that you typed in data correctly to a form or even running a disk scanner on your drives to check for errors.


Recovery

Methods of recovery from errors vary quite widely depending on the type of error and/or the severity of the error.

Errors caused by bad user input can easily be handled through the use of re-input. Re-input is very simple, the program just asks the user for new, valid data and throws the old data away in a safe manner.

Transmission errors are as easy to recover from as data entry errors except they are harder to detect in some cases. If a transmission errors occurs, the data can simply be re-transmitted. this method is the only true way to recover from transmission errors.

When a hard drive crash or another error of similar result occurs, the only way to fully restore your old data is to maintain a back-up copy of all the your software on some type of external media. This can be either floppies for small back-up needs, CDR's for larger amounts, and tape drives for even larger amounts of data. Many back-up programs exist to that work with all types of media. These programs automatically compress ( optionally ) your data and store it on the selected media for later use. These programs can also be used in reverse to uncompress ( if compressed ) data and restore is back to the hard disk.

Take the errors Quiz!