Скажем, приведенные ниже коды могут выдавать исключение времени выполнения, когда делитель равен нулю.
try {
int result = dividend / divisor;
} catch (Exception e) {
Log.d("exception:" + e);
}
или мы можем написать, как показано ниже.
if (divisor != 0) {
int result = dividend / divisor;
}
Я запутался, какой из нихразумнее и почему?
--------------------------------------------- update ---------------------------
У меня есть новая идея, что если метод хочетдля обеспечения функции деления.
public int divide(int dividend, int divisor) throws ArithmeticException {
if (divisor == 0) {
throw new ArithmeticException("divide by zero");
}
return dividend / divisor;
}
В вызывающем абоненте
try {
int result = divide(dividend, divisor);
} catch (Exception e) {
Log.d("exception:" + e);
}
или
if (divisor != 0) {
int result = divide(dividend, divisor);
}
Независимо от производительности, оба, похоже, не проблема.Не так ли?