Skip to content

fix: replace 32 bare except clauses with except Exception#37714

Open
haosenwang1018 wants to merge 1 commit intoapache:masterfrom
haosenwang1018:fix/bare-excepts
Open

fix: replace 32 bare except clauses with except Exception#37714
haosenwang1018 wants to merge 1 commit intoapache:masterfrom
haosenwang1018:fix/bare-excepts

Conversation

@haosenwang1018
Copy link

Replace bare except clauses with except Exception.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @haosenwang1018, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request systematically updates Python exception handling by replacing bare except: statements with except Exception:. This refactoring improves code clarity and adherence to best practices, ensuring that exception blocks only handle general errors and not critical system signals, thereby making the applications more predictable and easier to debug.

Highlights

  • Improved Exception Handling: Replaced all bare except: clauses with except Exception: across various Python files. This change aligns with Python best practices, ensuring that only application-level exceptions are caught, and critical system-exiting exceptions like SystemExit or KeyboardInterrupt are allowed to propagate.
  • Code Robustness: The modification enhances the robustness and maintainability of the codebase by preventing unintended catching of system-level exceptions, which could mask bugs or interfere with program termination.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .test-infra/metrics/sync/github/sync.py
    • Replaced bare except with except Exception for database connection and data fetching.
  • .test-infra/metrics/sync/jenkins/syncjenkins.py
    • Replaced bare except with except Exception for database connection.
  • contributor-docs/discussion-docs/generate_doc_md.py
    • Replaced bare except with except Exception in convert_to_timestamp and find_google_docs_links functions.
  • learning/tour-of-beam/learning-content/common-transforms/motivating-challenge/python-challenge/task.py
    • Replaced bare except with except Exception in tryParseTaxiRideCost.
  • learning/tour-of-beam/learning-content/common-transforms/motivating-challenge/python-solution/task.py
    • Replaced bare except with except Exception in tryParseTaxiRideCost.
  • learning/tour-of-beam/learning-content/triggers/motivating-challenge/python-challenge/task.py
    • Replaced bare except with except Exception in tryParseTaxiRideCost.
  • learning/tour-of-beam/learning-content/triggers/motivating-challenge/python-solution/task.py
    • Replaced bare except with except Exception in tryParseTaxiRideCost.
  • learning/tour-of-beam/learning-content/windowing/motivating-challenge/python-challenge/task.py
    • Replaced bare except with except Exception in tryParseTaxiRideCost.
  • learning/tour-of-beam/learning-content/windowing/motivating-challenge/python-solution/task.py
    • Replaced bare except with except Exception in tryParseTaxiRideCost.
  • sdks/java/container/license_scripts/pull_licenses_java.py
    • Replaced multiple bare except clauses with except Exception in pull_source_code, write_to_csv, and execute functions.
  • sdks/java/extensions/python/src/main/resources/org/apache/beam/sdk/extensions/python/bootstrap_beam_venv.py
    • Replaced bare except with except Exception during virtual environment sanity checks.
  • sdks/python/apache_beam/dataframe/io_test.py
    • Replaced bare except with except Exception in check methods for dataframe assertions.
  • sdks/python/apache_beam/io/aws/clients/s3/fake_client.py
    • Replaced bare except with except Exception in get_file method.
  • sdks/python/apache_beam/metrics/cells_test.py
    • Replaced bare except with except Exception in run_fuzz method.
  • sdks/python/apache_beam/runners/interactive/testing/integration/tests/screen_diff_test.py
    • Replaced bare except with except Exception in explicit_wait method.
  • sdks/python/apache_beam/runners/portability/fn_api_runner/fn_runner_test.py
    • Replaced bare except with except Exception in process and has_mi_for_ptransform methods.
  • sdks/python/apache_beam/runners/portability/stager.py
    • Replaced bare except with except Exception in create_job_resources.
  • sdks/python/apache_beam/testing/load_tests/load_test.py
    • Replaced bare except with except Exception in get_option_or_default.
  • sdks/python/container/license_scripts/pull_licenses_py.py
    • Replaced bare except with except Exception in license_url function.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link
Contributor

Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment assign set of reviewers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant