Monday, July 20, 2020

Exceptions- HackerRank Solution

 Exceptions- HackerRank Solution

  Errors detected during execution are called exceptions.

Examples:

ZeroDivisionError
This error is raised when the second argument of a division or modulo operation is zero.

>>> a = '1'
>>> b = '0'
>>> print int(a) / int(b)
>>> ZeroDivisionError: integer division or modulo by zero

ValueError
This error is raised when a built-in operation or function receives an argument that has the right type but an inappropriate value.

>>> a = '1'
>>> b = '#'
>>> print int(a) / int(b)
>>> ValueError: invalid literal for int() with base 10: '#'

To learn more about different built-in exceptions click here.

Handling Exceptions

The statements try and except can be used to handle selected exceptions. A try statement may have more than one except clause to specify handlers for different exceptions.

#Code
try:
    print 1/0
except ZeroDivisionError as e:
    print "Error Code:",e

Output

Error Code: integer division or modulo by zero


Task

You are given two values  and .
Perform integer division and print .

Input Format

The first line contains , the number of test cases.
The next  lines each contain the space separated values of  and .

Constraints

Output Format

Print the value of .
In the case of ZeroDivisionError or ValueError, print the error code.

Sample Input

3
1 0
2 $
3 1

Sample Output

Error Code: integer division or modulo by zero
Error Code: invalid literal for int() with base 10: '$'
3

Exceptions HackerRank Solution

n=int(input())
for _ in range(n):
    a,b=(input()).split()
    try:
        print((int(a)//int(b)))
    except ZeroDivisionError as e:
        print("Error Code: integer division or modulo by zero")
    except ValueError as v:
        print("Error Code:",v)



Explantion-

As per the instructions given in the problem, we have to show ZeroDivisionError and ValueError. Since in python 3, the ZeroDivisionError is bit modified we will print the output as mentioned in the problem. 

Instead of writing two different exceptions, we can also use BaseException since it's the base class for all built-in-exceptions and Exceptions inherits from "BaseException".
In the above problem, we can replace both exceptions with- 

                                        except BaseException as e:
                                                print("Error Code:",e)


0 comments:

Post a Comment

Feel free to share your thoughts and suggestion...