Java 长时间的NumberFormatException

Java 长时间的NumberFormatException,java,Java,我定义了一个变量作为Long。若有人将字符串传递给那个变量,它就会抛出NumberFormatException。我怎样才能传递我自己的信息。与此类似,只允许使用长值。我正在做: 长周期; 但有人输入了字符串而不是长值。然后它应该通过错误捕获并重新抛出您自己的异常 try { l = Long.parseLong(text); } catch (NumberFormatException ex) { throw new IllegalArgumentException("Only lon

我定义了一个变量作为Long。若有人将字符串传递给那个变量,它就会抛出NumberFormatException。我怎样才能传递我自己的信息。与此类似,只允许使用长值。我正在做:

长周期;
但有人输入了字符串而不是长值。然后它应该通过错误捕获并重新抛出您自己的异常

try {
  l = Long.parseLong(text);
} catch (NumberFormatException ex) {
  throw new IllegalArgumentException("Only long values are allowed", ex);
}

捕获并重新抛出您自己的异常

try {
  l = Long.parseLong(text);
} catch (NumberFormatException ex) {
  throw new IllegalArgumentException("Only long values are allowed", ex);
}

你可以像下面这样使用

try {
        ....////
    }
    catch (NumberFormatException nfe) {
        throw new NumberFormatException("The value you entered, " + value+ " is invalid.");
    }

你可以像下面这样使用

try {
        ....////
    }
    catch (NumberFormatException nfe) {
        throw new NumberFormatException("The value you entered, " + value+ " is invalid.");
    }

您可以定义自己的
异常

class LongValueException extends Exception {

    public LongValueException () {
    }

    public LongValueException (String message) {
        super(message);
    }
}
然后在你的
中调用它try…catch

try{
    Long.parseLong(yourString);
}
catch (NumberFormatException e){
    throw new LongValueException ("Only long can be used here");
}

您可以定义自己的
异常

class LongValueException extends Exception {

    public LongValueException () {
    }

    public LongValueException (String message) {
        super(message);
    }
}
然后在你的
中调用它try…catch

try{
    Long.parseLong(yourString);
}
catch (NumberFormatException e){
    throw new LongValueException ("Only long can be used here");
}

您可以长时间编写regexp。之后,您应该检查长字符串中的regexp。若字符串和模式不匹配,那个么您可以记录错误消息

String longRegexp = "^-?[0-9]{1,19}$";
if(!yourLong.matches(longRegexp )){
    //Log it.
}

您可以长时间编写regexp。之后,您应该检查长字符串中的regexp。若字符串和模式不匹配,那个么您可以记录错误消息

String longRegexp = "^-?[0-9]{1,19}$";
if(!yourLong.matches(longRegexp )){
    //Log it.
}

捕获
NumberFormatException
,然后
抛出您自己的异常。只有在出现NumberFormatException时,才可以在Catch块中使用try Catch块和消息。捕获
NumberFormatException
,然后
抛出你自己的异常。只有在出现NumberFormatException时,你才能在catch块中使用try catch块和message。