try:
# Dangerous stuff
except ValueError:
# If you use try, at least 1 except block is mandatory!
# Handle it somehow / ignore
except (BadThingError, HorrbileThingError) as e:
# Hande it differently
except:
# This will catch every exception.
else:
# Else block is not mandatory.
# Dangerous stuff ended with no exception
finally:
# Finally block is not mandatory.
# This will ALWAYS happen after the above blocks.
#Syntax:
try:
statement
except Exception as varname:
statement
"""
Some specific exceptions (Lengthy but time-saving )-
ArithmeticError - Raised when an error occurs in numeric calculations
AssertionError - Raised when an assert statement fails
AttributeError - Raised when attribute reference or assignment fails
Exception - Base class for all exceptions
EOFError - Raised when the input() method hits an "end of file" condition (EOF)
FloatingPointError - Raised when a floating point calculation fails
GeneratorExit - Raised when a generator is closed (with the close() method)
ImportError - Raised when an imported module does not exist
IndentationError - Raised when indendation is not correct
IndexError - Raised when an index of a sequence does not exist
KeyError - Raised when a key does not exist in a dictionary
KeyboardInterrupt - Raised when the user presses Ctrl+c, Ctrl+z or Delete
LookupError - Raised when errors raised cant be found
MemoryError - Raised when a program runs out of memory
NameError - Raised when a variable does not exist
NotImplementedError - Raised when an abstract method requires an inherited class to override the method
OSError - Raised when a system related operation causes an error
OverflowError - Raised when the result of a numeric calculation is too large
ReferenceError - Raised when a weak reference object does not exist
RuntimeError - Raised when an error occurs that do not belong to any specific expections
StopIteration - Raised when the next() method of an iterator has no further values
SyntaxError - Raised when a syntax error occurs
TabError - Raised when indentation consists of tabs or spaces
SystemError - Raised when a system error occurs
SystemExit - Raised when the sys.exit() function is called
TypeError - Raised when two different types are combined
UnboundLocalError - Raised when a local variable is referenced before assignment
UnicodeError - Raised when a unicode problem occurs
UnicodeEncodeError - Raised when a unicode encoding problem occurs
UnicodeDecodeError - Raised when a unicode decoding problem occurs
UnicodeTranslateError - Raised when a unicode translation problem occurs
ValueError - Raised when there is a wrong value in a specified data type
ZeroDivisionError - Raised when the second operator in a division is zero
"""
import sys
try:
f = open('myfile.txt')
s = f.readline()
i = int(s.strip())
except OSError as err:
print("OS error: {0}".format(err))
except ValueError:
print("Could not convert data to an integer.")
except:
print("Unexpected error:", sys.exc_info()[0])
raise
try:
#some code that may will produce an error
except:
#some code that will be executed if an error is encountered
finally:
#this code always will be executed
# Try & Except :-
# Try => Test The Code For Errors
# Except => Handle The Errors
# The Try & Except ==> Complete Each Other
# You Can't Type One Without The Other
# Example, We Need From The User To Write His Age
# Age Mean Integer
# But What If He Type String
# Of Course We Show To Him Wrong Message
try : # I Will Try The Code
# If The User Type His Age, Mean Integer
age = int( input( "Write Your Age Please: " ) )
# This Message Will Show To Him
print( f"Your Age Is {age}" )
except : # If I Found Error, I Will Show To Him Wrong Message
# But If He Type Something Else, This Message Will Show To Him
print( "Wrong Value, Please Try Again" )
'''
We can use try and except to continue running code even if we
come across an error.
'''
try:
var = 0 / 0 # Runs into error
except ZeroDivisionError as e:
print(e) # Prints the error
# ADD ANY OTHER CODE YOU WANT TO EXECUTE
try:
# Floor division
x = 10
y = 0
result = x // y
except ZeroDivisionError:
print("You are dividing by zero!")
except:
# Exception other than ZeroDivisionError
print("Oh! got unknown error!")
else:
# Execute if no exception
print("The answer is: {}".format(result))
finally:
# Always execute
print('This is always executed')
try: #try to do the following
print("Hi there")
except: #If what is meant to happen in (try) fails, do this.
print("A error happened with the code above")
try:
print(x)
except SyntaxError:
print("There is a SyntaxError in your code")
except NameError:
print("There is a NameError in your code")
except TypeError:
print("There is a TypeError in your code")
# Think you want a number from the user
# If the user enters the number correctly it will run the try statement
# if the user enters something else it will run the except statement
number = input('Please enter the number: ')
try:
user_number = int(number)
print('You have entered number:', user_number)
except:
print('The number you have entered is not correct.')
# Try and Except in python are for taking care of errors
# which may occur at runtime.
# For example:
# If flask is not installed, you will get an ImportError saying flask
# is not installed.
# The try keyword is to try running that block of code which may cause an error.
try:
from flask import Flask
except ImportError:
print('Flask is not installed! Use pip install flask to install it.')