$ dis foo.bar
Traceback (most recent call last):
File "/home/jtk/.python/envs/dis-cli/bin/dis", line 33, in <module>
sys.exit(load_entry_point('dis-cli', 'console_scripts', 'dis')())
File "/home/jtk/.python/envs/dis-cli/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/jtk/.python/envs/dis-cli/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/jtk/.python/envs/dis-cli/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/jtk/.python/envs/dis-cli/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/mnt/c/Users/joshk/projects/dis-cli/dis_cli.py", line 40, in cli
for idx, disp in enumerate(
File "/mnt/c/Users/joshk/projects/dis-cli/dis_cli.py", line 51, in make_source_and_bytecode_display_for_targets
for func in map(find_function, targets):
File "/mnt/c/Users/joshk/projects/dis-cli/dis_cli.py", line 64, in find_function
obj = importlib.import_module(module_path)
File "/home/jtk/.python/envs/dis-cli/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/mnt/c/Users/joshk/projects/dis-cli/foo.py", line 1, in <module>
raise Exception
Exception
We should print a nice message to give some context to what's happening, followed by the underlying exception.