From 0f25a3fa2dc59c1ae7638d8d19eea8904e868686 Mon Sep 17 00:00:00 2001 From: Babak Farrokhi Date: Thu, 7 Apr 2016 11:57:48 +0430 Subject: [PATCH] improved error handling --- dnsping.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dnsping.py b/dnsping.py index 3b809b4..337e547 100755 --- a/dnsping.py +++ b/dnsping.py @@ -61,7 +61,7 @@ def signal_handler(sig, frame): def main(): signal.signal(signal.SIGTSTP, signal.SIG_IGN) # ignore CTRL+Z - signal.signal(signal.SIGINT, signal_handler) # ignore CTRL+C + signal.signal(signal.SIGINT, signal_handler) # custom CTRL+C handler if len(sys.argv) == 1: usage() @@ -124,9 +124,17 @@ def main(): stime = time.time() answers = resolver.query(hostname, dnsrecord) etime = time.time() - except dns.resolver.NoNameservers: + except dns.resolver.NoNameservers as e: if not quiet: print("no response to dns request") + if verbose: + print("error:", e) + exit(1) + except dns.resolver.NXDOMAIN as e: + if not quiet: + print("Hostname does not exist") + if verbose: + print("error:", e) exit(1) except dns.resolver.Timeout: if not quiet: