diff --git a/JavaToCSharpCli/Program.cs b/JavaToCSharpCli/Program.cs index d74a0fc..072d194 100644 --- a/JavaToCSharpCli/Program.cs +++ b/JavaToCSharpCli/Program.cs @@ -273,7 +273,7 @@ private static void ConvertToCSharpFile(FileSystemInfo inputFile, FileSystemInfo { string javaText = File.ReadAllText(inputFile.FullName); - options.WarningEncountered += (_, eventArgs) => + void warningEncountered(object? sender, ConversionWarningEventArgs eventArgs) { if (outputFile != null) { @@ -283,10 +283,19 @@ private static void ConvertToCSharpFile(FileSystemInfo inputFile, FileSystemInfo OutputFileOrPrint(outputFile != null ? Path.ChangeExtension(outputFile.FullName, ".warning") : null, eventArgs.Message + Environment.NewLine); - }; + } + + options.WarningEncountered += warningEncountered; - string? parsed = JavaToCSharpConverter.ConvertText(javaText, options); - OutputFileOrPrint(outputFile?.FullName, parsed ?? string.Empty); + try + { + string? parsed = JavaToCSharpConverter.ConvertText(javaText, options); + OutputFileOrPrint(outputFile?.FullName, parsed ?? string.Empty); + } + finally + { + options.WarningEncountered -= warningEncountered; + } if (outputFile != null) {