@@ -344,8 +344,9 @@ def __init__(self, destination, timeout=3000, packet_size=64, own_id=None, quiet
344344 self .stats .destination_ip = info [4 ][0 ]
345345 else :
346346 self .stats .destination_ip = socket .gethostbyname (self .stats .destination_host )
347- except socket .error , e :
348- self ._stderr .write ("\n PYTHON PING: Unknown host: %s (%s)\n " % (self .stats .destination_host , e .args [1 ]))
347+ except socket .error :
348+ etype , evalue , etb = sys .exc_info ()
349+ self ._stderr .write ("\n PYTHON PING: Unknown host: %s (%s)\n " % (self .stats .destination_host , evalue .args [1 ]))
349350 #sys.exit(2)
350351 self .unknown_host = True
351352 return
@@ -366,15 +367,16 @@ def do_one(self):
366367 current_socket = socket .socket (socket .AF_INET6 , socket .SOCK_RAW , socket .getprotobyname ("ipv6-icmp" ))
367368 else :
368369 current_socket = socket .socket (socket .AF_INET , socket .SOCK_RAW , socket .getprotobyname ("icmp" ))
369- except socket .error , e :
370+ except socket .error :
371+ etype , evalue , etb = sys .exc_info ()
370372# if e.args[0] == 1:
371373# # Operation not permitted - Add more information to traceback
372374# etype, evalue, etb = sys.exc_info()
373375# evalue = etype(
374376# "%s - Note that ICMP messages can only be send from processes running as root." % evalue
375377# )
376378# raise etype, evalue, etb
377- self ._stderr .write ("failed. (socket error: '%s')\n " % e .args [1 ])
379+ self ._stderr .write ("failed. (socket error: '%s')\n " % evalue .args [1 ])
378380 raise # raise the original error
379381
380382 send_time = self .send_one_ping (current_socket )
@@ -486,8 +488,9 @@ def send_one_ping(self, current_socket):
486488 current_socket .sendto (packet , (self .stats .destination_ip , self .stats .destination_port , 0 , 0 ))
487489 else :
488490 current_socket .sendto (packet , (self .stats .destination_ip , self .stats .destination_port ))
489- except socket .error , e :
490- self ._stderr .write ("General failure (%s)\n " % (e .args [1 ]))
491+ except socket .error :
492+ etype , evalue , etb = sys .exc_info ()
493+ self ._stderr .write ("General failure (%s)\n " % (evalue .args [1 ]))
491494 send_time = None
492495
493496 return send_time
@@ -705,7 +708,7 @@ def main(arguments):
705708 parser .add_argument ('-W' , dest = 'timeout' , metavar = 'timeout' , type = int , default = 3 , help = 'Time to wait for a response, in seconds.' )
706709
707710 args = parser .parse_args ()
708- except ImportError , evalue :
711+ except ImportError :
709712 from optparse import OptionParser
710713
711714 parser = OptionParser (description = 'Send ICMP ECHO_REQUEST to network hosts' )
0 commit comments