Skip to main content

User Defined Exception in python. On Python Hunter





Exceptions in any programming language are the unexpected output of a script.Traditional example is dividing a number with zero (1/0). These exceptions will obviously halt our code. But if we use the try catch block then we can justify our code to keep executing. Sometimes we need to raise some exceptions to guide the user or program to go in specific direction. For Instance, the average salary of accounts department should not be greater than 40000, now integer value 40001 is normal and there is nothing wrong with it, even the compiler or interpreter will not find any issue regarding that. But, we programmers know that 40001 will be wrong input value for average salary of accounts department, we need to inform the user that 40001 is wrong value as it cannot be greater than 40000. Here the User Defined Exceptions topic comes in light. Follow the code to understand the concept.


 Follow Python Hunter on youtube   Follow Python Hunter on twitter Follow on tumbl ( at your own risk ) check profile on linkedIn 


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
print("This is PythonHunter Blog by Pran Sukh")
''' This script will check that the input number should be = to 4
input 8 will execute the else block of try
'''

class UserDefinedExecption(Exception):
    pass
#hope you know about this.. if not don't worry I'll explain, just give a note on http://pransukh.Tumblr.com

class ValueLarge(UserDefinedExecption):
    def __message(self):
        print("Excepiton Message from ValueLarge")
class ValueSmall(UserDefinedExecption):
    def __message(self):
        print("Exception Message from ValueSmall")
class ExceptionGenerator:
    def method(self,x):
        try:
            if(int(x)>4):
                raise ValueLarge
            elif (int(x)<4):
                raise ValueSmall
            elif (int(x)==4):
                print("Good !!")
                return "break"
        except ValueLarge as OBJ1:
            OBJ1._ValueLarge__message()
        except ValueSmall as OBJ2:
            OBJ2._ValueSmall__message()
        else:
            print("else block of try, will only work when there is no exception. Just like finally")
        finally:
            print("in finaly block")


while True:
    X=input("Enter Number:")
    if(ExceptionGenerator().method(X) == "break"):
        break


Note:- This code works  in both Python 2.x and 3.x version. But in Python 3.x you don't need to pass "self" in method(self,x). in python 3.x every method works without "self" parameter, while in python 2.x you have to pass "self" parameter in every method call....


Stay tuned to my other blogs:- Python Hunter

Comments

Post a Comment

Thanks in anticipation.

Popular posts from this blog

Understanding the usage of underscore( _ ) of Python for beginner. On Python Hunter

Introduction: Just like you, a newbie in python scripting language, me too was confused about lot of new things in python that are not valid or available in other languages like Java, .Net etc. Just like other things i had seen the use of '_' underscore in python, at beginning level that flabbergasted me for a while.      With some research and practice i have summarised the following usage of '_' underscore in python. Hope you will find it helpful at beginning level. First Usage : Hold the previous output value. When used in interpreter. 1 2 3 4 5 6 7 _ = input () # For example you typed '5' print (_) # This will print '5' print ( int ( _ ) * int ( _ ) ) # This will print '25' print ( int ( _ ) + 10 ) The above will print '15', because last input was "5" and in above   line of code is producing '25' as output but not being handl...

regex in python python hunter

Regular Expressions is a powerful concept if understood clearly you can save your valuable time to extract out the particular text from huge string or paragraph. It is wildly pronounced as regex, it can help you to automate the boring stuff, like searching particular text form log files, python used this same concept in web scrapping. Below are some common examples to understand the regex. Method names will help you to have an idea that what exactly the regex is intended to do. if you don't understand any regex or want to create your own regex with your requirements then you can comment below, i'll reach you ASAP. Thanks. import re def phoneNumberPattern (): print ( "*" * 10 ) print ( "phoneNumberPattern()" ) regexObj = re . compile( r'\d\d\d-\d\d\d-\d\d\d\d' ) mo = regexObj . search( 'Find my phone number from this string 998-805-4332' ) print (mo . group()) def grouping (): print ( "*...

XSLT applyTemeplate tag by pran sukh on Python Hunter.

XSLT is used for presenting XML data in well structured way and in eye appealing sense. In XSLT we can define different templates and maintain criteria for XSLT processor to parse the XML data in and apply different template for different XML tags. Lets examine following example XML DATA. 1 2 3 4 5 6 7 8 9 10 <student id= "1" eCode= "e1" > <firstName> Python 1 </firstName> <lastName> Hunert 1 </lastName> <dob> <day> 01 </day> <month> Jan </month> <year> 1991 </year> </dob> <course> Programmer </course> </student> In above XML data we want to present student id with dark background and eCode with red background colors, First Name in blue color, last name in green color and date of birth in different modes, so it will look like this. Source File:- XML_DATA.xml 1 2 3 4 5 6 7 8 9 10 ...