Skip to main content

What Is Exception in java?

Exceptions are exceptional conditions in program flow.
What is the exceptional conditions?
  • You going to read a file. Exceptional condition: File is not found.(FileNotFound Exception)
  • You creating a new file. Exceptional condition: No space in memory for new file, you dont have rights to create a new file in drive.
  • You are performing some operation on object. Exceptional condition: object is null.(NullPointer Exception)
  • Mathematical exceptions like number divide by zero.(ArithmeticException)
  • Array related exception like accessing an index which not in array(ArrayOutOfBound Exception).
There are many cases where exception can occurs in your program. For your program runs as you expected,You need to perform exception handling for exceptional conditions but before go to exception handling lets know about Exception in java.

public class Test{
  
   void printName(){
     System.out.println("Test");
   }
   
   public static void main(String[] args) {
     Test test = null;
  //operation on null will gives nullPointerException
     test.printName();
   }
}





Exception
In java, Exception is a class and it comes in picture when any exception event occurs in your program.
Exception divided into two category: 1. Checked exceptions and 2. Unchecked exceptions
  1. Checked Exception OR Compile Time Exception:

    Checked Exceptions are those exception that occurs at time of compilation of your code, Its also known as compile time exception. These exception must be handled in code otherwise code not get compiled.
    Example: FileNotFoundException
    
    import java.io.FileReader;
    
    public class Test{
     
       public static void main(String[] args) {
            //Creating FileReader object for reading a file 
            FileReader file = new FileReader("C:\\code\\test.txt");
       }
    }
    
    Compile this application

    How to FIX it?
    By using exception handling. Please check my post for exception handling.
    
    import java.io.FileReader;
    
    public class Test{
       public static void main(String[] args) {
       
      try {
       //Creating FileReader object for reading a file 
        FileReader file = new FileReader("C:\\code\\test.txt");
      } catch (Exception e) {
                      //exception will catch i n this block if exception occurs. 
                      System.out.println("Some exception occurs in reading file");
    
                      //this code will give you full information on console about Exception
                      e.printStackTrace();
      }
            
       }
    }
    

    Java Program To Read File

    Above code get compiled without any exception, but for reading file we need some extra code.
    
    import java.io.FileReader;
    import java.io.BufferedReader;
    
    public class Test{
       public static void main(String[] args) {
       
      try {
       //Creating FileReader object for reading a file 
        FileReader file = new FileReader("C:\\code\\test.txt");
        BufferedReader fileInput = new BufferedReader(file);
        String str = "";
               while((str=fileInput.readLine()) != null){
               System.out.println(str);
                }
                fileInput.close();
      } catch (Exception e) {
                       //exception will catch i n this block if exception occurs. 
                       System.out.println("Some exception occurs in reading file");
    
                      //this code will give you full information on console about Exception 
               e.printStackTrace();
      }
     
       }
    }
    
  2. Unchecked Exception Or Runtime Exception:

    Exception occurs at time of execution known as Unchecked Exception or Runtime Exception. Unchecked exception use to come in program due to logical issue or improper java syntax.
    
    public class Test{
     
     public static void main(String[] args) {
     
        //Array of int, length= 4 
      //you can access value from 0 to 3 index
        int[] a = {2,1,3,5};
        
        //runtime exception if try to access value not with in index of array  
        System.out.println(a[4]);
     }
    }
    

    How to FIX it?
    You have to correct the program. In above program, you should not use out of array index.
  3. Error:

    Error are not exceptions, it can not be handled by program. Like Stack Overflow Error, Out of memory error.

Comments

Popular posts from this blog

Java Collection Framework - In 15 Mins

Collection framework is use for storing data in program. Collection framework contains most of data structure like LinkedList, Set, HashMap etc already implemented for you to direct use in program and also gives you flexibility to write own kind of data structure. Java collections framework data structure: Lists: Contains list of objects. Java provides 3 type of ready to use list. ArrayList Vector LinkedList Sets: Contains unique objects, does not allow dublicates. Java provides 3 type of sets, these are HashSet LinkedHashSet TreeSet Maps: Contain key:value data structure, value only access by key. Java provides 4 type of Map. HashMap Hashtable LinkedHashMap TreeMap Queues: Perform FIFO (first in first out) PriorityQueue Java Collection Interface And Collections Util Class Collection is an interface which is implemented by all data structure in java, except Map. Maps (HashMap, LinkedHashMap, Hashtable, TreeMap) are not define by Collection interface, th...

Java Thread - Let's move to parallel execution.

Assume we have 5 array of integer type and we want to add all numbers of array. 1st way ( Sequential Way ) We can pick array one by one and add all numbers and give the result. In this way only one thread (main thread) will execute the program. 2nd way ( Multithreaded Way ) In Multithreaded way, we can create 5 thread and assign an array to each thread to add all the numbers of array. All 5 thread will run parallel and give result 5 times faster than 1st way. What is Thread & Multithreading? A process may contain sub processes which execute parallel and use same resource of main process these sub processes are threads and whole phenomena called Multithreading . How to implement thread in Java? Java thread is sub process of process. In java, Thread class use to achieve multithreading in program. Initialize Thread There is two way to initialize and run thread in java. By extending Thread class By implementing Runnable interface By extending Thre...