diff --git a/src/darker/__main__.py b/src/darker/__main__.py index f9c77d467..a53b816bc 100644 --- a/src/darker/__main__.py +++ b/src/darker/__main__.py @@ -549,9 +549,8 @@ def main( # pylint: disable=too-many-locals,too-many-branches,too-many-statemen rev2_repr = ( "the working tree" if revrange.rev2 == WORKTREE else revrange.rev2 ) - raise ArgumentError( - Action(["PATH"], "path"), - f"Error: Path(s) {missing_reprs} do not exist in {rev2_repr}", + raise FileNotFoundError( + f"Path(s) {missing_reprs} do not exist in {rev2_repr}" ) # These paths are relative to `common_root`: @@ -631,10 +630,18 @@ def main_with_error_handling() -> int: """Entry point for console script""" try: return main() - except (ArgumentError, DependencyError) as exc_info: - if logger.root.level < logging.WARNING: - raise - sys.exit(str(exc_info)) + except FileNotFoundError as exc_info: + logger.error("%s (2)", exc_info) + return 2 + except ArgumentError as exc_info: + logger.error("%s (3)", exc_info) + return 3 + except DependencyError as exc_info: + logger.error("%s (4)", exc_info) + return 4 + except Exception as exc_info: # pylint: disable=broad-exception-caught + logger.error("%s (123)", exc_info) + return 123 if __name__ == "__main__":