AssertionError #Raised when assert statement fails.
AttributeError #Raised when attribute assignment or reference fails.
EOFError #Raised when the input() functions hits end-of-file condition.
FloatingPointError #Raised when a floating point operation fails.
GeneratorExit #Raise when a generator's close() method is called.
ImportError #Raised when the imported module is not found.
IndexError #Raised when index of a sequence is out of range.
KeyError #Raised when a key is not found in a dictionary.
KeyboardInterrupt #Raised when the user hits interrupt key (Ctrl+c or delete).
MemoryError #Raised when an operation runs out of memory.
NameError #Raised when a variable is not found in local or global scope.
NotImplementedError #Raised by abstract methods.
OSError #Raised when system operation causes system related error.
OverflowError #Raised when result of an arithmetic operation is too large to be represented.
ReferenceError #Raised when a weak reference proxy is used to access a garbage collected referent.
RuntimeError #Raised when an error does not fall under any other category.
StopIteration #Raised by next() function to indicate that there is no further item to be returned by iterator.
SyntaxError #Raised by parser when syntax error is encountered.
IndentationError #Raised when there is incorrect indentation.
TabError #Raised when indentation consists of inconsistent tabs and spaces.
SystemError #Raised when interpreter detects internal error.
SystemExit #Raised by sys.exit() function.
TypeError #Raised when a function or operation is applied to an object of incorrect type.
UnboundLocalError #Raised when a reference is made to a local variable in a function or method, but no value has been bound to that variable.
UnicodeError #Raised when a Unicode-related encoding or decoding error occurs.
UnicodeEncodeError #Raised when a Unicode-related error occurs during encoding.
UnicodeDecodeError #Raised when a Unicode-related error occurs during decoding.
UnicodeTranslateError #Raised when a Unicode-related error occurs during translating.
ValueError #Raised when a function gets argument of correct type but improper value.
ZeroDivisionError #Raised when second operand of division or modulo operation is zero.
#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
"""
try:
# raise a custom exception
raise Exception("A custom exception")
except Exception as err:
print(err)
finally:
print('This execute no matter if an exception occurs or not')
try:
# code block
except ValueError as ve:
print(ve)
while True:
try:
funds = float(input("Enter amount to transfer: "))
if funds < 0:
raise Exception("Please enter a positive value,")
break
except ValueError:
print("Please enter a numeric value,")
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StopAsyncIteration
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EOFError
+-- ImportError
| +-- ModuleNotFoundError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
| +-- RecursionError
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
#!/bin/python3
import sys
S = input().strip()
try:
S = int(S)
print(S)
except:
print("Bad String")