Difference between revisions of "JAVA: try, catch, throw & throws di Java"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "What is an Exception? An exception is an “unwanted or unexpected event”, which occurs during the execution of the program i.e, at run-time, that disrupts the normal flow o...")
 
Line 9: Line 9:
 
1.try: The try block contains set of statements where an exception can occur.
 
1.try: The try block contains set of statements where an exception can occur.
  
try
+
try
{
+
{
    // statement(s) that might cause exception
+
    // statement(s) that might cause exception
}
+
}
 +
 
 
2.catch : Catch block is used to handle the uncertain condition of try block. A try block is always followed by a catch block, which handles the exception that occurs in associated try block.
 
2.catch : Catch block is used to handle the uncertain condition of try block. A try block is always followed by a catch block, which handles the exception that occurs in associated try block.
  
catch
+
catch
{
+
{
  // statement(s) that handle an exception
+
    // statement(s) that handle an exception
  // examples, closing a connection, closing
+
    // examples, closing a connection, closing
  // file, exiting the process after writing
+
    // file, exiting the process after writing
  // details to a log file.
+
    // details to a log file.
}
+
}
 
3.throw: Throw keyword is used to transfer control from try block to catch block.
 
3.throw: Throw keyword is used to transfer control from try block to catch block.
  
Line 30: Line 31:
 
Example of an Exception generated by system is given below :
 
Example of an Exception generated by system is given below :
  
Exception in thread "main"  
+
Exception in thread "main"  
java.lang.ArithmeticException: divide  
+
java.lang.ArithmeticException: divide  
by zero at ExceptionDemo.main(ExceptionDemo.java:5)
+
by zero at ExceptionDemo.main(ExceptionDemo.java:5)
ExceptionDemo: The class name
+
ExceptionDemo: The class name
main:The method name  
+
main:The method name  
ExceptionDemo.java:The file name
+
ExceptionDemo.java:The file name
java:5:line number
+
java:5:line number
 +
 +
// Java program to demonstrate working of try,
 +
// catch and finally
 +
 
 +
class Division {
 +
    public static void main(String[] args)
 +
    {
 +
        int a = 10, b = 5, c = 5, result;
 +
        try {
 +
            result = a / (b - c);
 +
            System.out.println("result" + result);
 +
        }
 +
 
 +
        catch (ArithmeticException e) {
 +
            System.out.println("Exception caught:Division by zero");
 +
        }
 +
 
 +
        finally {
 +
            System.out.println("I am in final block");
 +
        }
 +
    }
 +
}
  
// Java program to demonstrate working of try,
 
// catch and finally
 
 
 
class Division {
 
    public static void main(String[] args)
 
    {
 
        int a = 10, b = 5, c = 5, result;
 
        try {
 
            result = a / (b - c);
 
            System.out.println("result" + result);
 
        }
 
 
 
        catch (ArithmeticException e) {
 
            System.out.println("Exception caught:Division by zero");
 
        }
 
 
 
        finally {
 
            System.out.println("I am in final block");
 
        }
 
    }
 
}
 
 
Output:
 
Output:
Exception caught:Division by zero
+
Exception caught:Division by zero
I am in final block
+
I am in final block
  
 
An example of throws keyword:
 
An example of throws keyword:
  
  
// Java program to demonstrate working of throws
+
// Java program to demonstrate working of throws
class ThrowsExecp {
+
class ThrowsExecp {
 
+
 
    // This method throws an exception
+
    // This method throws an exception
    // to be handled
+
    // to be handled
    // by caller or caller
+
    // by caller or caller
    // of caller and so on.
+
    // of caller and so on.
    static void fun() throws IllegalAccessException
+
    static void fun() throws IllegalAccessException
    {
+
    {
        System.out.println("Inside fun(). ");
+
        System.out.println("Inside fun(). ");
        throw new IllegalAccessException("demo");
+
        throw new IllegalAccessException("demo");
    }
+
    }
 
+
 
    // This is a caller function  
+
    // This is a caller function  
    public static void main(String args[])
+
    public static void main(String args[])
    {
+
    {
        try {
+
        try {
            fun();
+
            fun();
        }
+
        }
        catch (IllegalAccessException e) {
+
        catch (IllegalAccessException e) {
            System.out.println("caught in main.");
+
            System.out.println("caught in main.");
        }
+
        }
    }
+
    }
}
+
}
 +
 
 
Output:
 
Output:
Inside fun().  
+
Inside fun().  
caught in main.
+
caught in main.
  
 
==Referensi==
 
==Referensi==
  
 
* https://www.geeksforgeeks.org/try-catch-throw-and-throws-in-java/
 
* https://www.geeksforgeeks.org/try-catch-throw-and-throws-in-java/

Revision as of 09:00, 11 May 2022

What is an Exception? An exception is an “unwanted or unexpected event”, which occurs during the execution of the program i.e, at run-time, that disrupts the normal flow of the program’s instructions. When an exception occurs, execution of the program gets terminated.

Why does an Exception occur? An exception can occur due to several reasons like Network connection problem, Bad input provided by user, Opening a non-existing file in your program etc

Blocks & Keywords used for exception handling

1.try: The try block contains set of statements where an exception can occur.

try
{
    // statement(s) that might cause exception
}

2.catch : Catch block is used to handle the uncertain condition of try block. A try block is always followed by a catch block, which handles the exception that occurs in associated try block.

catch
{
   // statement(s) that handle an exception
   // examples, closing a connection, closing
   // file, exiting the process after writing
   // details to a log file.
}

3.throw: Throw keyword is used to transfer control from try block to catch block.

4.throws: Throws keyword is used for exception handling without try & catch block. It specifies the exceptions that a method can throw to the caller and does not handle itself.

5.finally: It is executed after catch block. We basically use it to put some common code when there are multiple catch blocks.

Example of an Exception generated by system is given below :

Exception in thread "main" 
java.lang.ArithmeticException: divide 
by zero at ExceptionDemo.main(ExceptionDemo.java:5)
ExceptionDemo: The class name
main:The method name 
ExceptionDemo.java:The file name
java:5:line number

// Java program to demonstrate working of try,
// catch and finally
 
class Division {
    public static void main(String[] args)
    {
        int a = 10, b = 5, c = 5, result;
        try {
            result = a / (b - c);
            System.out.println("result" + result);
        }
  
        catch (ArithmeticException e) {
            System.out.println("Exception caught:Division by zero");
        }
  
        finally {
            System.out.println("I am in final block");
        }
    }
}

Output:

Exception caught:Division by zero
I am in final block

An example of throws keyword:


// Java program to demonstrate working of throws
class ThrowsExecp {
  
    // This method throws an exception
    // to be handled
    // by caller or caller
    // of caller and so on.
    static void fun() throws IllegalAccessException
    {
        System.out.println("Inside fun(). ");
        throw new IllegalAccessException("demo");
    }
  
    // This is a caller function 
    public static void main(String args[])
    {
        try {
            fun();
        }
        catch (IllegalAccessException e) {
            System.out.println("caught in main.");
        }
    }
}

Output:

Inside fun(). 
caught in main.

Referensi