#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")