C# 是否删除代码中的模式(Try/Catch)?搜索替换?

C# 是否删除代码中的模式(Try/Catch)?搜索替换?,c#,.net,C#,.net,我有一个大型复杂的项目,我开始使用try-and-catch,如下所示: try { } catch (Exception ex) { throw new ExceptionHandler("", ExceptionType.UnexceptedException, ExceptionSeverity.Error, null, "", ex); } 现在我需要删除它,因为它已经被证明是一个不好的模式。手工操作需要做很多工作,所以问题是是否有任何工具可以帮助我?在某些情况下,可能会出现fi

我有一个大型复杂的项目,我开始使用try-and-catch,如下所示:

try
{
}
catch (Exception ex)
{
   throw new ExceptionHandler("", ExceptionType.UnexceptedException, ExceptionSeverity.Error, null, "", ex);
}

现在我需要删除它,因为它已经被证明是一个不好的模式。手工操作需要做很多工作,所以问题是是否有任何工具可以帮助我?在某些情况下,可能会出现finally,如果是,则不应删除try。

老实说,我认为最好的解决方案是手工完成。自动化工具对于基本用例来说是非常好的,但是可能是代码中的某个地方,有人做了一些特定用例的专门工作,或者有一些额外的日志记录


我的建议是搜索所有此类实例,但手动逐个替换/删除它们,以确保一切仍按预期运行。

老实说,我认为最好的解决方案是手动操作。自动化工具对于基本用例来说是非常好的,但是可能是代码中的某个地方,有人做了一些特定用例的专门工作,或者有一些额外的日志记录


我的建议是搜索所有实例,但手动逐个替换/删除它们,以确保一切仍按预期运行。

尝试在python上使用正则表达式递归地在文件夹中的每个文件上编写脚本。我认为这是一个解决方案

尝试在python上编写脚本,在文件夹中的每个文件上递归地使用正则表达式。我认为这可能是一个解决方案

不推荐查找/替换,尽管您可以这样做,然后修复特定情况

IMO最推荐的方式是使用Roslyn查找和处理所有特定案例


有很多例子。请参阅和,例如。

不建议这样做,尽管您可以这样做,然后修复特定情况

IMO最推荐的方式是使用Roslyn查找和处理所有特定案例



有很多例子。请参阅和,例如。

这不是一个搜索和替换行的选项吗?编写一个为您执行此操作的应用程序?我想您可以编写regexp来查找它们(例如,visual studio支持使用regex进行搜索)。然后你可以目视检查每一个具体案例并手动移除,或者如果你足够勇敢,可以自动移除所有匹配项。手动移除的方式很多(7年6个开发人员,每种方法都尝试/捕获)。我只想删除上面的模式,没有别的。Regex听起来不错,问题是我对Regex几乎一无所知。如果您提供了要删除的确切模式(您不想删除所有try\catch块,对吧?)-我们可能会尝试帮助您使用正则表达式。这不是搜索和替换行的选项吗?编写一个为您执行此操作的应用程序?我想您可以编写正则表达式来为您查找它们(例如visual studio支持使用正则表达式搜索)。然后你可以目视检查每一个具体案例并手动移除,或者如果你足够勇敢,可以自动移除所有匹配项。手动移除的方式很多(7年6个开发人员,每种方法都尝试/捕获)。我只想删除上面的模式,没有别的。Regex听起来不错,问题是我对Regex几乎一无所知。如果您提供了要删除的确切模式(您不想删除所有try\catch块,对吧?),我们可能会尝试帮助您使用Regex。我的想法正是如此。错误的异常处理是一个问题,但是仅仅删除它就会带来大量的麻烦——这需要程序员的帮助。但是在这种情况下,我只想删除try{ignore}catch(exception ex){throw new exception handler(“”,ExceptionType.unceptideexception,ExceptionSeverity.Error,null,“,ex)}以及其他内容。如果上述图案不匹配,则不应将其删除。手工做这件事太难了。想一想7年的开发人员和6个开发人员,并尝试/捕捉每种方法。我的想法完全正确。错误的异常处理是一个问题,但是仅仅删除它就会带来大量的麻烦——这需要程序员的帮助。但是在这种情况下,我只想删除try{ignore}catch(exception ex){throw new exception handler(“”,ExceptionType.unceptideexception,ExceptionSeverity.Error,null,“,ex)}以及其他内容。如果上述图案不匹配,则不应将其删除。手工做这件事太难了。想想7年的开发人员和6个开发人员,并在每个方法中尝试/捕获。lol,为什么特别是在python中?“我想可能吧”?那么这不是一个真正的解决方案,是吗,如果你不确定?对不起,将以另一种方式表述。用任何脚本语言递归地在文件夹中的每个文件上用正则表达式编写脚本。这听起来仍然像是一个建议或注释。除了“你需要自己修复它”之外,你没有提供一个真正的问题答案。哈哈,为什么特别是在python中?“我想可能吧”?那么这不是一个真正的解决方案,是吗,如果你不确定?对不起,将以另一种方式表述。用任何脚本语言递归地在文件夹中的每个文件上用正则表达式编写脚本。这听起来仍然像是一个建议或注释。除了“你需要自己解决问题”之外,你没有提供一个真正的答案。