Categories: python

Python Exception Handling – III(Raise Keyword )

In Python, the raise keyword is primarily used for exception handling. Exception handling is responsible for handling exceptions or errors so that the system does not fail due to incorrect code.

The raise keyword generates an error and halts the program’s control flow. It is used to invoke the current exception handler so that it can be handled further up the call stack.

Syntax:

raise {name_of_ the_ exception_class}

Example:

The code below demonstrates a program that raises an error if the value of the variable x is lower than 0:

# Input
x = -1

# Use of "raise"
if x < 0:
  raise Exception("Sorry, no numbers below zero allowed")

Output:

Traceback (most recent call last):
  File "<string>", line 6, in <module>
Exception: Sorry, no numbers below zero allowed

Note: While raising an error, we can also specify the type of error and, if necessary, print out a text.

Raising an exception Without Specifying Exception Class:

There is no requirement to provide an exception class when we use the raise keyword. When we use the raise keyword without specifying an exception class name, it reraises the last exception that occurred. This is used generally inside an except code block to reraise an exception that is caught.

Example:

a = 10
b = 'a'
try:
    print(a/b)
except ValueError:
    raise

Output:

Traceback (most recent call last):
  File "<string>", line 4, in <module>
TypeError: unsupported operand type(s) for /: 'int' and 'str'
Benefits of the raise keyword:
  • It allows us to raise exceptions when we encounter situations where execution cannot continue.
  • It allows us to reraise an exception that has been caught.
  • Raise gives us the ability to throw one exception at any time.
  • It is useful when working with input validations.

Note: also read about Python Exception Handling – II(Finally Keyword )

Follow Me

Please follow me to read my latest post on programming and technology if you like my post.

https://www.instagram.com/coderz.py/

https://www.facebook.com/coderz.py

Recent Posts

Select a Random Element from a Stream

You are given a stream of elements that is too large to fit into memory.…

2 days ago

Estimate π Using Monte Carlo Method

The formula for the area of a circle is given by πr². Use the Monte…

3 weeks ago

Longest Substring with K Distinct Characters

Given an integer k and a string s, write a function to determine the length…

3 weeks ago

Staircase Climbing Ways

There is a staircase with N steps, and you can ascend either 1 step or…

4 weeks ago

Autocomplete System Implementation

Build an autocomplete system that, given a query string s and a set of possible…

4 weeks ago

Job Scheduler Implementation

Design a job scheduler that accepts a function f and an integer n. The scheduler…

4 weeks ago