定义一个名为 TimeFormatMistake 的异常类。如果用户输入非法时间,比如10:65,或者输入一些垃圾字符,比如6&*65,程序就抛出并捕捉一个 TimeFormatMistake 异常。
时间: 2024-02-26 22:58:02 浏览: 21
好的,以下是 Python 代码实现:
```python
class TimeFormatMistake(Exception):
pass
def check_time_format(time_str):
try:
time_list = time_str.split(':')
if len(time_list) != 2:
raise TimeFormatMistake
hour = int(time_list[0])
minute = int(time_list[1])
if hour < 0 or hour > 23 or minute < 0 or minute > 59:
raise TimeFormatMistake
except ValueError:
raise TimeFormatMistake
# 示例用法
try:
check_time_format('10:65')
except TimeFormatMistake:
print('非法时间格式!')
try:
check_time_format('6&*65')
except TimeFormatMistake:
print('非法时间格式!')
```
在上面的代码中,我们定义了一个名为 `TimeFormatMistake` 的异常类,然后编写了一个名为 `check_time_format` 的函数来检查时间字符串是否合法。如果检查到非法时间格式,就抛出 `TimeFormatMistake` 异常。最后,我们通过 `try...except...` 语句来捕捉这个异常并进行相应的处理。