Является ли отлов NumberFormatException плохой практикой?

Мне нужно проанализировать строку, которая может принимать шестнадцатеричные значения или другие не -шестнадцатеричные значения

0xff., 0x31или A, PC, labelи так далее.

Я использую этот код, чтобы разделить два случая:

String input = readInput();

try {
    int hex = Integer.decode(input);            
    // use hex...

} catch (NumberFormatException e) {
   // input is not a hex, continue parsing
}

Можно ли считать этот код «уродливым» или трудным для чтения? Существуют ли другие (, может быть, более элегантные )решения?

РЕДАКТИРОВАТЬ :Я хочу уточнить, что (в моем случае)неправильного ввода не существует:мне просто нужно различить, является ли это шестнадцатеричным числом или нет. И просто для полноты картины я делаю простой ассемблер для DCPU -16 .

10
задан 25 June 2012 в 22:18
поделиться