try/catch as conditional
StackOverflow 中的相关讨论 : http://stackoverflow.com/questions/8621762/java-if-vs-try-catch-overhead
You really should not use try/catch and if interchangeably.
try/catch is for things that go wrong that are outside of your control and not in the normal program flow. For example, trying to write to a file and the file system is full? That situation should typically be handled with try/catch.
if statements should be normal flow and ordinary error checking. So, for example, user fails to populate a required input field? Use if for that, not try/catch.
There is more overhead even if the exception is never thrown.
但是,比较容易实现的 isLong(String str) 还是使用了 try/catch:
1 public boolean isLong(String str) { 2 try { 3 Long.parseLong(str); 4 } catch(Exception e) { 5 return false; 6 } 7 return true; 8 }
这个冲突怎么解决?

浙公网安备 33010602011771号