我在旧代码库中有以下结构:
try{
...
}
catch(Type1&){
...
}
catch(Type2&){
...
}
...
随着复制粘贴的发展,相同的捕获块出现在任何地方。现在,我会写一个这样的函数:
void catchErrors(){
try{
throw;
}
catch(Type1&){
...
}
...
}
并将其放入如下代码中:
try{
...
}
catch(...){
catchErrors();
}
这会是一个有效的重构,从而产生相同的功能吗?
(你对重构有什么更好的建议吗?)