【Python函数错误处理】Python函数错误处理技巧和使用范例
Python是一种非常强大的编程语言,但在编程过程中总会出现各种各样的错误,这就需要我们使用错误处理技巧来解决问题。Python的错误处理较为简单,主要是通过try...except语句来捕捉错误并进行处理。本文将介绍Python函数错误处理技巧和使用范例。
一、Python函数错误处理技巧
1. try...except...finally语句
try...except...finally语句是Python的错误处理语句,它的基本格式如下:
try:
# 可能会出错的代码
except 错误类型:
# 出现错误时执行的代码
finally:
# 不管有没有错误都会执行的代码
2. 自定义错误类型
Python中有很多内置的错误类型,但有时我们需要自定义错误类型,这样可以更好地判断错误类型。示例代码:
class MyError(Exception):
def __init__(self, message):
super().__init__(message)
def __str__(self):
return self.message
3. assert语句
assert语句用来判断一个条件是否成立,如果不成立则会抛出AssertionError异常,并显示指定的错误信息。示例代码:
def get_score(score):
assert isinstance(score, int), '分数必须是整数'
if score < 0 or score > 100:
raise ValueError('分数必须在0-100之间')
if score < 60:
return 'D'
elif score < 70:
return 'C'
elif score < 80:
return 'B'
else:
return 'A'
print(get_score(80))
print(get_score('80'))
4. traceback模块
Python错误信息中包含了调用关系和行号信息,但有时需要更加详细的信息来帮助我们找出错误,这就需要使用traceback模块。示例代码:
import traceback
def foo():
return 1 / 0
try:
foo()
except Exception:
traceback.print_exc()
二、Python函数错误处理使用范例
1. 求两个数的商
def divide(dividend, divisor):
try:
result = dividend / divisor
except ZeroDivisionError:
print('发生除数为0异常')
return None
else:
return result
print(divide(4, 0))
print(divide(4, 2))
2. 求一个列表的平均值
def average(numbers):
try:
result = sum(numbers) / len(numbers)
except ZeroDivisionError:
print('列表不能为空')
return None
except TypeError:
print('列表中元素必须为数字')
return None
else:
return result
print(average([1, 2, 3, 4]))
print(average([]))
print(average(['a', 'b', 'c']))
3. 自定义错误类型
class NegativeNumberError(Exception):
pass
def do_something(num):
if num < 0:
raise NegativeNumberError('数字不能为负数')
else:
print('数字为正数')
try:
do_something(-1)
except NegativeNumberError as e:
print(e)
finally:
print('结束')
4. assert语句
def get_score(score):
assert isinstance(score, int), '分数必须是整数'
if score < 0 or score > 100:
raise ValueError('分数必须在0-100之间')
if score < 60:
return 'D'
elif score < 70:
return 'C'
elif score < 80:
return 'B'
else:
return 'A'
print(get_score(80))
print(get_score('80'))
总之,Python是一种非常强大的编程语言,但在编程过程中总会出现各种各样的错误,这就需要我们使用错误处理技巧来解决问题。本文介绍了Python函数错误处理技巧和使用范例,希望能帮助大家更好地掌握Python编程。
