彻底使用'if'语句或'try/catch'块?

Dad*_*box 9 comparison if-statement try-catch

给我一些你的想法,哪个是更好的编码实践/使更高效的代码/看起来更漂亮/更好:增加和提高你使用if语句预测和捕捉潜在问题的能力?或者只是简单地使用try/catch?

让我们说这是Java(如果重要的话).

编辑: 我现在正在将自己从一些公认的过时和受限制的当前编码实践中转移出来,但我对于在某些方面(例如这一点)这样做的必要性有点扯淡.我只想问一些观点.不是辩论.

Kar*_*arl 5

if块稍快一些;如果您不需要一打,那是个比更好的主意try/catches。异常应该是特殊的,而不是每次代码都运行。我将异常用于服务器断开之类的罕见事件(即使它们每天发生几次),并if为我的任何可控变量设置阻止。