现在的代码类似于:
def some_func():
	...
if __name__ == "__main__":
	while True:
	    try:
        	some_func()
            except Exception as e:
        	pass
但是 PyCharm 中运行还是会抛异常导致程序 Crash
请教小伙伴这段代码有什么问题吗
另外应该如何更好地保证代码长时间运行不 Crash 的问题 谢谢
感谢各位 将 pass 换成 continue 跑了段时间似乎没有问题了
在Python里 pass 相当于一个placeholder,实际上是NOP
但是对于已经抓到的Exception 为啥还是Crash呢,continue 似乎不会?
|      1alvin666      2018-04-27 16:22:04 +08:00 via Android 把代码全放上来看看,是哪里出错了? | 
|  |      2hackpro OP @alvin666  #1 这个 some_func() 里面就是 get post 数据 本意是如果出现问题 就忽略掉 但是现在报了 HTTPSConnectionPool Exception 并且 Crash 了 Max tries exceeded with url: (Caused by SSLError(SSLError("bad handshake syscallerror(-1, "Unexpected EOF")"))) | 
|  |      3ipwx      2018-04-27 16:52:41 +08:00 Only one note: https://docs.python.org/3/library/exceptions.html#exception-hierarchy May not be helpful for your problem. | 
|  |      4ipwx      2018-04-27 16:57:22 +08:00 顺便 Python 里面一个 tab 等于 8 个空格。如果你空格 和 tab 混用,小心被坑。 | 
|  |      5zhouxuchen      2018-04-27 16:59:06 +08:00 @ipwx #4 眼尖的,我看了下还真是,LZ 这个编码习惯不好 | 
|  |      6hackpro OP @ipwx  #3 感谢回复 1. 意思是如何我 capture BaseException 能捕捉所有类型 Exception, 只抓 Exception 会 miss 掉一部分? 2. 通常我是只用 tab 不过 Python 缩进的话 4 个空格就够了吧…… | 
|  |      7hackpro OP @zhouxuchen  #5 这个代码在 V2 里我是手动敲的 因为缩进不太好弄 | 
|  |      9ipwx      2018-04-27 17:56:12 +08:00 @hackpro 一般大家都用 4 个空格缩进。Google 用 2 个。空格 tab 混用的风险在于,大部分编辑器会显示成 4 个空格,但是 Python 解释器会认作 8 个空格。而 Python 解释器的语法是根据 8 个空格去理解程序的。 | 
|      10julyclyde      2018-04-28 08:06:45 +08:00 @ipwx 最后一句“ Python 解释器的语法是根据 8 个空格去理解程序的”显然是不对的。如果按 8 个来理解,那 2 个 4 个的都是语法错误了 | 
|      11zhanglintc      2018-04-28 13:29:01 +08:00 讲道理, 如果写 continue 不会出问题的话, pass 也不会出问题啊. 感觉还是没找到根源来着. |