Pages

Sunday, February 12, 2012

Exception handling in Java

An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions. When an error occurs within a method, the method creates an object and hands it off to the runtime system. The object, called an exception object, contains information about the error, including its type and the state of the program when the error occurred. Creating an exception object and handing it to the runtime system is called throwing an exception

An exception is a problem that arises during the execution of a program. An exception can occur for many different reasons, including the following:

    1. A user has entered invalid data.
    2. A file that needs to be opened cannot be found.
    3. A network connection has been lost in the middle of communications, or the JVM has run out of memory.



Some of these exceptions are caused by user error, others by programmer error, and others by physical resources that have failed in some manner.






To understand how exception handling works in Java, you need to understand the three categories of exceptions:

    1. Checked exceptions: A checked exception is an exception that is typically a user error or a problem that cannot be foreseen by the programmer. For example, if a file is to be opened, but the file cannot be found, an exception occurs. These exceptions cannot simply be ignored at the time of compilation.
    2. Runtime exceptions: A runtime exception is an exception that occurs that probably could have been avoided by the programmer. As opposed to checked exceptions, runtime exceptions are ignored at the time of compliation.
    3. Errors: These are not exceptions at all, but problems that arise beyond the control of the user or the programmer. Errors are typically ignored in your code because you can rarely do anything about an error. For example, if a stack overflow occurs, an error will arise. They are also ignored at the time of compilation.

Binary Search Tree


In computer science, a binary search tree (BST), which may sometimes also be called an ordered or sorted binary tree, is a node-based binary tree data structure which has the following properties:
  • The left subtree of a node contains only nodes with keys less than the node's key.
  • The right subtree of a node contains only nodes with keys greater than the node's key.
  • Both the left and right subtrees must also be binary search trees.


A basic and a quick video, might be messed up too in some places, explaining the basics of a Binary Search Tree.



Java: Introduction to Strings

A string is an ordered sequence of symbols. Sting class is included in java.lang package. So each class in Java, can use String class without importing any package. The String class represents character strings. All string literals in Java programs, such as "abc", are implemented as instances of this class. 






Documentation:

Comparing Strings:

Minimax Algorithm

Consider a game of two players, call one of the players as MAX and the other player as MIN. And in the game MAX makes the first move and then they take turns alternatively till the end of the game.

The various components of the Game:
  1. Initial State: This includes the board position and the player who will move first.
  2. Successor Function: For a node it returns the list of it's successor function and the state they will result into.
  3. Terminal States: The states where the game has ended.
  4. Utility Function: This gives a numerical value to all the terminal states. High values are considered good for MAX and bad for MIN and vice-versa.
The following video gives a complete explanation of the Minimax Algorithm.


Following is the Minimax Algorithm:





Friday, February 10, 2012

Installing Google App Engine Plugin on Eclipse Indigo

While installing Google App engine plugin for Eclipse Indigo, the installation process seem to stop as soon the the installation process reaches around 40% completion. I tried installing the same thrice and the installation ceases at the same point everytime. As a solution I switched to Eclipse Helios.