我一直在审查一些生产代码,似乎有很多Try / Catches,在Try中有一些逻辑,但是空Catch。
这是正常做法吗?
你能不能只使用If语句?
如果您不打算抓住任何东西,使用Try / Catch似乎很奇怪。
答案 0 :(得分:3)
一个不做任何事情的灾难性陈述是一个不幸的常见错误的编程实践:
try
{
DoSomething();
}
catch (Exception e)
{
//empty
}
它幽默地被称为Pokémon Exception Handling (#2),因为“你只需要抓住所有人”。
答案 1 :(得分:0)
你是对的。
if-else虽然不是try-catch的替代品。 如果您的代码抛出异常(自愿或不情愿),并且您希望代码继续处理,或者只是向调用者抛出另一个异常,那么尝试捕获就是可行的方法。 我没有看到你的代码来评估try catch实现的正确性。 可能有助于展示它。
答案 2 :(得分:0)
我有一个关于一个人的故事,他是开发团队中最好的程序员。没有人可以打败他,因为他的所有代码多年来都没有抛出任何例外。
当他退出并且其他人开始审查他的代码时,恐怖故事开始了。
他为代码中的每个逻辑使用了try和empty catch。
开发团队不得不重写他的整个代码库。
答案 3 :(得分:-2)