Updates
  • Starting New Weekday Batch for Java Full Stack Developer on 24th June 2024 @ 02:00 PM to 04:00 PM
  • Starting New Weekend Batch for Java Full Stack Developer on 06th July 2024 @ 11:00 AM to 02:00 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 08th July 2024 @ 04:00 PM to 06:00 PM
  • Starting New Weekday Batch for Java Full Stack Developer on 29th July 2024 @ 10:00 AM to 12:00 PM
Join Course

Important Methods & Exceptions

java.lang.Throwable class :

public class java.lang.Throwable implements java.io.Serializable {
static final boolean $assertionsDisabled;
publicjava.lang.Throwable();
publicjava.lang.Throwable(java.lang.String);
publicjava.lang.Throwable(java.lang.String, java.lang.Throwable);
publicjava.lang.Throwable(java.lang.Throwable);
protectedjava.lang.Throwable(java.lang.String, java.lang.Throwable, boolean, boolean);
publicjava.lang.StringgetMessage();
publicjava.lang.StringgetLocalizedMessage();
public synchronized java.lang.ThrowablegetCause();
public synchronized java.lang.ThrowableinitCause(java.lang.Throwable);
publicjava.lang.StringtoString();
public void printStackTrace();
public void printStackTrace(java.io.PrintStream);
public void printStackTrace(java.io.PrintWriter);
public synchronized java.lang.ThrowablefillInStackTrace();
publicjava.lang.StackTraceElement[] getStackTrace();
public void setStackTrace(java.lang.StackTraceElement[]);
nativeintgetStackTraceDepth();
nativejava.lang.StackTraceElementgetStackTraceElement(int);
public final synchronized void addSuppressed(java.lang.Throwable);
public final synchronized java.lang.Throwable[] getSuppressed();
static {};
}

java.lang.Exception class :

public class java.lang.Exception extends java.lang.Throwable {
static final long serialVersionUID;
publicjava.lang.Exception();
publicjava.lang.Exception(java.lang.String);
publicjava.lang.Exception(java.lang.String, java.lang.Throwable);
publicjava.lang.Exception(java.lang.Throwable);
protectedjava.lang.Exception(java.lang.String, java.lang.Throwable, boolean, boolean);
}

java.lang.RuntimeException :

public class java.lang.RuntimeException extends java.lang.Exception {
static final long serialVersionUID;
publicjava.lang.RuntimeException();
publicjava.lang.RuntimeException(java.lang.String);
publicjava.lang.RuntimeException(java.lang.String, java.lang.Throwable);
publicjava.lang.RuntimeException(java.lang.Throwable);
protectedjava.lang.RuntimeException(java.lang.String, java.lang.Throwable, boolean, boolean);
}

Important Methods:

1. public void printStackTrace();

Access Modifier: - public
Member Type: - Instance Method
Return Type: - void
Method Name: - printStackTrace()
Functionality: - This method is an Instance method of java.lang.Throwable class, when we invoke this method along with Throwable type object then it prints following information:

a. Type of Exception occurs.
b. Reason of Exception.
c. Location of the Exception.

2. public java.lang.StringgetMessage();

Access Modifier: - public
Member Type: - Instance Method
Return Type: - java.lang.String
Method Name: - getMessage()
Functionality: - We use getMessage() method of java.lang.Throwable class to get exact reason of the exception that why exactly it occurred.

3. public Throwable getCause()

Access Modifier: - public
Member Type: - Instance Method
Return Type: - Throwable
Method Name: - getCause()
Functionality: - Returns the cause of this Throwable or null if the cause is nonexistent or unknown. (The cause is the Throwable that caused this Throwable to get thrown.)

Important Built-In Exception:

1. java.lang.ArrayIndexOutOfBoundsException :

• The ArrayIndexOutOfBoundsException is an Unchecked Exception which occurs when we perform operation using an index of array which is not existing actually.
• API of java.lang.ArrayIndexOutOfBoundsException:

    
C:\Users\Rahul>javap java.lang.ArrayIndexOutOfBoundsException
Compiled from "ArrayIndexOutOfBoundsException.java"
public class java.lang.ArrayIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
  public java.lang.ArrayIndexOutOfBoundsException();
  public java.lang.ArrayIndexOutOfBoundsException(int);
  public java.lang.ArrayIndexOutOfBoundsException(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]){
		System.out.println(arg[0]);
	}
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at JTC.main(test.java:3)
            

2. java.lang.NegativeArraySizeException :

• java.lang.NegativeArraySizeException is an Unchecked Exception which occurs when we try to create an Array along with –ve length.
• API of java.lang.NegativeArraySizeException:

    
C:\Users\Rahul\Desktop>javap java.lang.NegativeArraySizeException
Compiled from "NegativeArraySizeException.java"
public class java.lang.NegativeArraySizeException extends java.lang.RuntimeException {
  public java.lang.NegativeArraySizeException();
  public java.lang.NegativeArraySizeException(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]){
		int ar1[] = new int[-1];
	}
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC
    Exception in thread "main" java.lang.NegativeArraySizeException
            at JTC.main(test.java:3)
            

3. java.lang.NullPointerException :

• java.lang.NullPointerException occurs when we access instance member of a class such as instance variable or instance method along with a reference variable which is containing null value.
• API of java.lang.NullPointerException:

    
C:\Users\Rahul\Desktop>javap java.lang.NullPointerException
Compiled from "NullPointerException.java"
public class java.lang.NullPointerException extends java.lang.RuntimeException {
  public java.lang.NullPointerException();
  public java.lang.NullPointerException(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]){
		A a1 = null;
		System.out.println(a1.a);
	}
}
class A{
	int a = 10; // Instance Variable
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC
    Exception in thread "main" java.lang.NullPointerException
            at JTC.main(test.java:4)
            

4. java.lang.ClassCastException:

• Java.lang.ClassCastException is an Unchecked Exception, it occurs when we try to type cast the super type object into sub type.
• API of java.lang.ClassCastException:

    
C:\Users\Rahul\Desktop>javap java.lang.ClassCastException
Compiled from "ClassCastException.java"
public class java.lang.ClassCastException extends java.lang.RuntimeException {
  public java.lang.ClassCastException();
  public java.lang.ClassCastException(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]){
		A a1 = null;
		System.out.println(a1.a);
	}
}
class A{
	int a = 10; // Instance Variable
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC
    Exception in thread "main" java.lang.ClassCastException: A cannot be cast to B
            at JTC.main(test.java:3)
            

5. java.lang.CloneNotSupportedException:

• java.lang.CloneNotSupportedException is a Checked Exception so as we discussed we must have to handle it or use throws keyword. java.lang.CloneNotSupportedException occurs when we try to create a clone of an existing object of a class which is not implementing java.lang.Cloneable interface using clone() method of java.lang.Object class.
• API of java.lang.CloneNotSupportedException:

    
C:\Users\Rahul\Desktop>javap java.lang.CloneNotSupportedException
Compiled from "CloneNotSupportedException.java"
public class java.lang.CloneNotSupportedException extends java.lang.Exception {
  public java.lang.CloneNotSupportedException();
  public java.lang.CloneNotSupportedException(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]) throws CloneNotSupportedException{
		JTC j1 = new JTC();
		JTC clone = (JTC) j1.clone();
	}
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC
    Exception in thread "main" java.lang.CloneNotSupportedException: JTC
            at java.lang.Object.clone(Native Method)
            at JTC.main(test.java:4)
            

6. java.lang.NumberFormatException:

• java.lang.NumberFormatException is an Unchecked Exception and it occurs when we try of parse from String which is not in number format into number data such as byte, short, int and etc. using parse method such as parseInt(), parseFLoat() and etc.
• API of java.lang.NumberFormatException:

    
C:\Users\Rahul\Desktop>javap java.lang.NumberFormatException
Compiled from "NumberFormatException.java"
public class java.lang.NumberFormatException extends java.lang.IllegalArgumentException {
  static final long serialVersionUID;
  public java.lang.NumberFormatException();
  public java.lang.NumberFormatException(java.lang.String);
  static java.lang.NumberFormatException forInputString(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]){
		int a = Integer.parseInt(arg[0]);
		System.out.println(a);
	}
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC 10
    10

    C:\Users\Rahul\Desktop>java JTC abc
    Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"
            at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
            at java.lang.Integer.parseInt(Integer.java:580)
            at java.lang.Integer.parseInt(Integer.java:615)
            at JTC.main(test.java:3)
            

7. java.lang.ClassNotFoundException:

• It is a Checked Exception and it occurs when we try to load a class which is not existing on location using forName() method of java.lang.Class.
• API of java.lang.ClassNotFoundException:

    
C:\Users\Rahul\Desktop>javap java.lang.ClassNotFoundException
Compiled from "ClassNotFoundException.java"
public class java.lang.ClassNotFoundException extends java.lang.ReflectiveOperationException {
  public java.lang.ClassNotFoundException();
  public java.lang.ClassNotFoundException(java.lang.String);
  public java.lang.ClassNotFoundException(java.lang.String, java.lang.Throwable);
  public java.lang.Throwable getException();
  public java.lang.Throwable getCause();
}
            
class JTC{
	public static void main(String arg[]) throws ClassNotFoundException{
		Class.forName(arg[0]);
	}
}
class A{
	static{
		System.out.println("SB in class A");
	}
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC A
    SB in class A

    C:\Users\Rahul\Desktop>java JTC Hello
    Exception in thread "main" java.lang.ClassNotFoundException: Hello
            at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:264)
            at JTC.main(test.java:3)
            

8. java.lang.IllegalAccessException

• It is a Checked Exception and generally it occurs when we create an object of a class using java.lang.Class.newInstance() and that class is having constructor with private Access Modifier.
• API of java.lang.IllegalAccessException:

    
C:\Users\Rahul\Desktop>javap java.lang.IllegalAccessException
Compiled from "IllegalAccessException.java"
public class java.lang.IllegalAccessException extends java.lang.ReflectiveOperationException {
  public java.lang.IllegalAccessException();
  public java.lang.IllegalAccessException(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]) throws IllegalAccessException, InstantiationException{
		A.class.newInstance();	
	}
}
class A{
	private A(){}
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC
    Exception in thread "main" java.lang.IllegalAccessException: Class JTC can not access a member of class A with modifiers "private"
            at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102)
            at java.lang.Class.newInstance(Class.java:436)
            at JTC.main(test.java:3)
            

9. java.lang.ArithmeticException:

• java.lang.ArithmeticException is an Unchecked Exception which occurs when an Integral Literals by 0.
• API of java.lang.ArithmeticException:

    
C:\Users\Rahul\Desktop>javap java.lang.ArithmeticException
Compiled from "ArithmeticException.java"
public class java.lang.ArithmeticException extends java.lang.RuntimeException {
  public java.lang.ArithmeticException();
  public java.lang.ArithmeticException(java.lang.String);
}
            
class JTC{
	public static void main(String arg[]){
		System.out.println(Integer.parseInt(arg[0])/Integer.parseInt(arg[1]));
	}
}
    C:\Users\Rahul\Desktop>javac test.java

    C:\Users\Rahul\Desktop>java JTC 10 2
    5

    C:\Users\Rahul\Desktop>java JTC 10 0
    Exception in thread "main" java.lang.ArithmeticException: / by zero
            at JTC.main(test.java:3)