Re: [PATCH 02/26] rv/rvgen: remove bare except clauses in generator

From: Gabriele Monaco

Date: Tue Jan 20 2026 - 05:05:37 EST


On Mon, 2026-01-19 at 17:45 -0300, Wander Lairson Costa wrote:
> Remove bare except clauses from the generator module that were
> catching all exceptions including KeyboardInterrupt and SystemExit.
> This follows the same exception handling improvements made in the
> previous AutomataError commit and addresses PEP 8 violations.
>
> The bare except clause in __create_directory was silently catching
> and ignoring all errors after printing a message, which could mask
> serious issues. For __write_file, the bare except created a critical
> bug where the file variable could remain undefined if open() failed,
> causing a NameError when attempting to write to or close the file.
>
> These methods now let OSError propagate naturally, allowing callers
> to handle file system errors appropriately. This provides clearer
> error reporting and allows Python's exception handling to show
> complete stack traces with proper error types and locations.
>
> Signed-off-by: Wander Lairson Costa <wander@xxxxxxxxxx>

Looks good to me, thanks!

Reviewed-by: Gabriele Monaco <gmonaco@xxxxxxxxxx>

> ---
>  tools/verification/rvgen/rvgen/generator.py | 9 +--------
>  1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/tools/verification/rvgen/rvgen/generator.py
> b/tools/verification/rvgen/rvgen/generator.py
> index a7bee6b1ea70c..af1662e2c20a7 100644
> --- a/tools/verification/rvgen/rvgen/generator.py
> +++ b/tools/verification/rvgen/rvgen/generator.py
> @@ -198,17 +198,10 @@ obj-$(CONFIG_RV_MON_%s) += monitors/%s/%s.o
>              os.mkdir(path)
>          except FileExistsError:
>              return
> -        except:
> -            print("Fail creating the output dir: %s" % self.name)
>  
>      def __write_file(self, file_name, content):
> -        try:
> -            file = open(file_name, 'w')
> -        except:
> -            print("Fail writing to file: %s" % file_name)
> -
> +        file = open(file_name, 'w')
>          file.write(content)
> -
>          file.close()
>  
>      def _create_file(self, file_name, content):