即使发生错误,如何让代码保持 运行
How to get code to keep running even if error occurs
我目前使用的代码
from pythonping import ping
import random
while 1:
d1 = (random.randrange(1,255))
d2 = (random.randrange(1,255))
d3 = (random.randrange(1,255))
d4 = (random.randrange(1,255))
h = f'{d1}.{d2}.{d3}.{d4}'
ping(h, verbose=True)
输出为
Request timed out Request timed out ....
Request timed out
Traceback (most recent call last): File
"C:\Users\dwatn\Documents\document1.py", line 17, in
ping(h, verbose=True) File "C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping_init_.py",
line 78, in ping
comm.run(match_payloads=match) File "C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping\executor.py",
line 335, in run
payload_bytes_sent = self.send_ping(identifier, seq, payload) File
"C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping\executor.py",
line 277, in send_ping
self.socket.send(i.packet) File "C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping\network.py",
line 56, in send
self.socket.sendto(packet, (self.destination, 0)) OSError: [WinError 10051] A socket operation was attempted to an unreachable
network
可以使用try catch来处理异常。
from pythonping import ping
import random
while 1:
d1 = (random.randrange(1,255))
d2 = (random.randrange(1,255))
d3 = (random.randrange(1,255))
d4 = (random.randrange(1,255))
h = f'{d1}.{d2}.{d3}.{d4}'
try:
ping(h, verbose=True)
except:
print("invalid ip")
我目前使用的代码
from pythonping import ping
import random
while 1:
d1 = (random.randrange(1,255))
d2 = (random.randrange(1,255))
d3 = (random.randrange(1,255))
d4 = (random.randrange(1,255))
h = f'{d1}.{d2}.{d3}.{d4}'
ping(h, verbose=True)
输出为
Request timed out Request timed out ....
Request timed out
Traceback (most recent call last): File "C:\Users\dwatn\Documents\document1.py", line 17, in ping(h, verbose=True) File "C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping_init_.py", line 78, in ping comm.run(match_payloads=match) File "C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping\executor.py", line 335, in run payload_bytes_sent = self.send_ping(identifier, seq, payload) File "C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping\executor.py", line 277, in send_ping self.socket.send(i.packet) File "C:\Users\dwatn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pythonping\network.py", line 56, in send self.socket.sendto(packet, (self.destination, 0)) OSError: [WinError 10051] A socket operation was attempted to an unreachable network
可以使用try catch来处理异常。
from pythonping import ping
import random
while 1:
d1 = (random.randrange(1,255))
d2 = (random.randrange(1,255))
d3 = (random.randrange(1,255))
d4 = (random.randrange(1,255))
h = f'{d1}.{d2}.{d3}.{d4}'
try:
ping(h, verbose=True)
except:
print("invalid ip")