停止函数中的程序(python)

停止函数中的程序(python),python,function,error-handling,Python,Function,Error Handling,我对编码有点陌生,我希望能够停止程序,如果可能的话,在函数中抛出自定义错误消息 (如: def四舍五入(大量输入): 半径=(计算) 如果半径小于0: 停止程序(“半径为负”) )要抛出自定义错误消息,可以执行以下操作 raise BaseException("my exception text") 您可以查看内置的异常类型 或者,要退出程序,您只需调用 exit() 要抛出自定义错误消息,可以执行以下操作 raise BaseException("my exception text")

我对编码有点陌生,我希望能够停止程序,如果可能的话,在函数中抛出自定义错误消息

(如:

def四舍五入(大量输入):
半径=(计算)
如果半径小于0:
停止程序(“半径为负”)

)要抛出自定义错误消息,可以执行以下操作

raise BaseException("my exception text")
您可以查看内置的异常类型

或者,要退出程序,您只需调用

exit()

要抛出自定义错误消息,可以执行以下操作

raise BaseException("my exception text")
您可以查看内置的异常类型

或者,要退出程序,您只需调用

exit()
您想引发一个异常

您想引发一个异常

导入操作系统
os.exit(“半径为负”)
,函数
exit()
中的值将被打印到
stderr
,返回代码将为1(感谢@peter wood的启示) 在此之前,您只需对消息使用
print

导入操作系统
os.exit(“半径为负”)
,函数
exit()
中的值将被打印到
stderr
,返回代码将为1(感谢@peter wood的启示)
在此之前,您可以对消息使用
print
,您可以使用python中的
raise
语句抛出异常:

raise Exception('Message') # Exception: Message
也可以创建自定义异常:

class MyException(Exception):
  pass

raise MyException('Message') # MyException: Message
因此,您应该使用:

raise TypeError('The radius is negative')

您应该阅读一些关于异常的教程:

您可以使用python中的
raise
语句引发异常:

raise Exception('Message') # Exception: Message
class MyException(Exception):
  pass

raise MyException('Message') # MyException: Message
也可以创建自定义异常:

class MyException(Exception):
  pass

raise MyException('Message') # MyException: Message
因此,您应该使用:

raise TypeError('The radius is negative')

您应该阅读一些关于异常的教程:

您是在谈论异常吗?您真的是指停止还是暂停?您是在GUI环境中还是在命令行中?你用的是什么操作系统?抱歉,我写“停止”的时候只是在抽象。是的,看起来异常是最好的选择,谢谢大家(只是使用基本的spyder界面没什么特别的)。你是说异常吗?你真的是指停止还是暂停?您是在GUI环境中还是在命令行中?你用的是什么操作系统?抱歉,我写“停止”的时候只是在抽象。是的,看来例外是最好的选择,谢谢大家(只是使用基本的spyder界面,没什么特别的)。这个问题还不够清楚,所以不能作为一个明确的答案。@PeterWood:可能,似乎是最有可能的选择,但是因为OP说他对编码还不熟悉,值得一看例外这个问题还不太清楚,还不能作为一个明确的答案。@PeterWood:可能,似乎是最有可能的选择,但是,既然OP说他对编码是新手,那么值得一看例外如果除了整数以外的任何东西被传递到
exit
,Python会将其转换为字符串,将其打印到
stderr
,并以代码
1
退出。看,我不知道,谢谢,将编辑应答如果将整数以外的任何内容传递到
exit
,Python将其转换为字符串,将其打印到
stderr
,并使用code
1
退出。看,我不知道,谢谢,我将编辑答案
class MyException(Exception):
  pass

raise MyException('Message') # MyException: Message