"""
Version: 0.1
Author: freshbin
Date: 2019年8月21日
"""
print("=================================错误 start================================================")
# Print('ERROR')
# NameError: name 'Print' is not defined
print("=================================错误 end================================================")
print("=================================异常 start================================================")
# s = 1/0
# print(s)
# ZeroDivisionError: division by zero
# TypeError: unsupported operand type(s) for /: 'int' and 'str'
print("=================================异常 end================================================")
print("=================================处理异常 start================================================")
while True:
try:
s = input('Enter a number:')
a = 1 / int(s)
except ZeroDivisionError:
print('ZeroDivisionError')
except TypeError:
print('TypeError')
except ValueError:
print('ValueError')
except:
print('Other exception')
else:
print('a的值为:{}'.format(a))
break
print("=================================处理异常 end================================================")
print("=================================抛出异常 start================================================")
class ShortInputException(Exception):
'''一个由用户定义的异常类'''
def __init__(self, length, atleast):
Exception.__init__(self)
self.length = length
self.atleast = atleast
try:
text = input('Enter something -->')
if len(text) < 3:
raise ShortInputException(len(text), 3)
except EOFError:
print('EOFError')
except ShortInputException as ex:
print(('ShortInputException: The input was ' + '{0} long, exception at least {1}').format(ex.length, ex.atleast))
else:
print('No exception was raised.')
print("=================================抛出异常 end================================================")
print("=================================try...finally start================================================")
import sys
import time
f = None
try:
f = open("poem.txt")
while True:
line = f.readline()
if len(line) == 0:
break
print(line, end=' ')
sys.stdout.flush()
print('Press ctrl+c now')
time.sleep(2)
except IOError:
print('Could not find file poem.txt')
except KeyboardInterrupt:
print('KeyboardInterrupt')
finally:
if f:
f.close()
print('close the file')
print("=================================try...finally end================================================")
print("=================================with语句 start================================================")
with open("poem.txt") as f:
for line in f:
print(line, end=' ')
print("=================================with语句 end================================================")