我有一个函数,它应该接受一个字符串,在必要时向它添加内容,并返回结果.
我的自然倾向是返回结果,其中涉及字符串连接,如果失败,则让异常浮动到调用者.但是,此函数有一个默认值,我只是返回未修改.
我的问题是:如果有人将意想不到的东西传递给该方法,并返回用户不期望的内容,该怎么办?该方法应该失败,但如何强制执行?
没有必要这样做,但如果你想要你可以让你的方法提出一个,TypeError如果你知道该对象属于你无法处理的类型.这样做的一个原因是帮助人们理解为什么方法调用失败并给他们一些帮助来修复它,而不是从函数的内部给它们模糊的错误.
标准库中的一些方法执行此操作:
>>> [] + 1 Traceback (most recent call last): File "", line 1, in TypeError: can only concatenate list (not "int") to list