NullPointerException
Codeaft.java
class Codeaft
{
    public static void main(String args[])
    {
        String s=null;
        System.out.println("Length: "+s.length());
    }
}
Output
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft Exception in thread "main" java.lang.NullPointerException at Codeaft.main(Codeaft.java:6) codeaft@codeaft:~$
Java program to demonstrate the use of try and catch blocks
Codeaft.java
class Codeaft
{
    public static void main(String args[])
    {
        String s=null;
        try
        {
            System.out.println("Length: "+s.length());
        }
        catch(Exception e)
        {
            System.out.println("String is null, hence, Unable to find the length.");
        }
    }
}
Output
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft String is null, hence, Unable to find the length. codeaft@codeaft:~$
Java program to demonstrate the use of try with multiple catch blocks
Codeaft.java
class Codeaft
{
    public static void main(String args[])
    {
        String s=null;
        try
        {
            System.out.println("Length: "+s.length());
        }
        catch(ArithmeticException e)
        {
            System.out.println("Exception caught in the first catch block");
        }
        catch(NullPointerException e)
        {
            System.out.println("Exception caught in the second catch block");
        }
        catch(Exception e)
        {
            System.out.println("Exception caught in the third catch block");
        }
    }
}
Output
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft Exception caught in the second catch block codeaft@codeaft:~$
Java program to handle the NullPointerException using Exception class
Codeaft.java
class Codeaft
{
    public static void main(String args[])
    {
        String s=null;
        try
        {
            System.out.println("Length: "+s.length());
        }
        catch(ArithmeticException e)
        {
            System.out.println("Exception caught in the first catch block");
        }
        catch(StringIndexOutOfBoundsException e)
        {
            System.out.println("Exception caught in the second catch block");
        }
        catch(Exception e)
        {
            System.out.println("Exception caught in the third catch block");
        }
    }
}
Output
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft Exception caught in the third catch block codeaft@codeaft:~$
Java program to handle the NullPointerException using RuntimeException class
Codeaft.java
class Codeaft
{
    public static void main(String args[])
    {
        String s=null;
        try
        {
            System.out.println("Length: "+s.length());
        }
        catch(ArithmeticException e)
        {
            System.out.println("Exception caught in the first catch block");
        }
        catch(RuntimeException e)
        {
            System.out.println("Exception caught in the second catch block");
        }
        catch(Exception e)
        {
            System.out.println("Exception caught in the third catch block");
        }
    }
}
Output
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft Exception caught in the second catch block codeaft@codeaft:~$
The following sequence of multiple catch blocks are not allowed
Codeaft.java
class Codeaft
{
    public static void main(String args[])
    {
        String s=null;
        try
        {
            System.out.println("Length: "+s.length());
        }
        catch(Exception e)
        {
            System.out.println("Exception caught in the third catch block");
        }
        catch(RuntimeException e)
        {
            System.out.println("Exception caught in the second catch block");
        }
        catch(ArithmeticException e)
        {
            System.out.println("Exception caught in the first catch block");
        }
    }
}
Output
codeaft@codeaft:~$ javac Codeaft.java
codeaft@codeaft:~$ java Codeaft Codeaft.java:14: error: exception RuntimeException has already been caught catch(RuntimeException e) ^ Codeaft.java:18: error: exception ArithmeticException has already been caught catch(ArithmeticException e) ^ 2 errors codeaft@codeaft:~$
Comments and Reactions