我对Python很陌生,如果这个问题很基本,请原谅我。在
我正在尝试处理键盘中断,同时使用select模块从套接字接收数据。所以,我有一个选择。选择()函数调用以等待来自套接字的数据,然后将其输出到控制台。在
当按下CTRL\u C时,似乎有时我会得到一个选择.错误,有时异常.IOError例外情况。对于这两个异常,相应的错误代码都是4。在
在调用堆栈中,有一些代码处理键盘中断异常,所以当我在接受套接字连接的函数中得到SIGINT时,我只想重新引发KeyboardInterrupt异常。我还想捕捉与连接相关的异常。在
检查异常的错误代码是否安全,如果是4,则引发键盘中断?这会影响我捕捉连接相关异常的能力吗?有没有关于错误代码的好资源?在
谢谢!在
请改用
errno.EINTR
。它是安全的。在但是,这不会告诉您是哪个信号中断了系统调用,只会告诉您哪个信号中断了系统调用。在
从man 2选择:
^{pr2}$相关问题 更多 >
编程相关推荐