在interval.parse()中抛出异常

时间:2013-01-14 17:32:00

标签: java jodatime date-format

我在一个名为dataRange的变量中存储了一个字符串,并使用Interval.parse()方法获取了一个Interval对象。

我的目标是检查该字符串是否格式正确,如果格式不正确则抛出DateFormatExeption

final Interval validDateRange = Interval.parse(dateRange);

如果字符串格式正确,则Parse函数似乎不会抛出任何异常。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果提供的字符串无效,

Interval.parse()不会抛出DateFormatException。相反,它会抛出一个IllegalArgumentExceptionDateFormatException不是Java或JodaTime内置的异常类,因此您需要自己创建它(这非常简单)

如果你想抛出DateFormatException,那么可以在try块中包含调用并执行此操作:

final Interval validDateRange = null
try{
    validDateRange = Interval.parse(dateRange);
catch(InvalidArgumentException e){
    throw new DateFormatException("date format not valid",e);
}

但如果字符串为null,如果日期格式正确但范围错误(例如结束日期在开始之前),则也会抛出InvalidArgumentException。异常消息将告诉您出了什么问题,但在所有这些情况下抛出DateFormatException可能不正确