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
'''
In python, you can use try, except and finally to catch errors to keep
running your code even when you run into an error.
try:
# insert code
except SpecificError:
# code that will run if the code in 'try' doesn't work
finally:
# always runs this code, error or not
'''
try:
myVar = 10 / 0 # runs into an error
except ZeroDivisionError as error:
print(error) # prints error to user
finally:
print('Finished try, except, finally') # always prints
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")
# 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.')