improved error handling

This commit is contained in:
Babak Farrokhi 2016-04-07 11:57:48 +04:30
parent 1969f20caa
commit 0f25a3fa2d

View File

@ -61,7 +61,7 @@ def signal_handler(sig, frame):
def main(): def main():
signal.signal(signal.SIGTSTP, signal.SIG_IGN) # ignore CTRL+Z 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: if len(sys.argv) == 1:
usage() usage()
@ -124,9 +124,17 @@ def main():
stime = time.time() stime = time.time()
answers = resolver.query(hostname, dnsrecord) answers = resolver.query(hostname, dnsrecord)
etime = time.time() etime = time.time()
except dns.resolver.NoNameservers: except dns.resolver.NoNameservers as e:
if not quiet: if not quiet:
print("no response to dns request") 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) exit(1)
except dns.resolver.Timeout: except dns.resolver.Timeout:
if not quiet: if not quiet: