我在变量中存储了一个字符串,dataRange
并使用Interval.parse()
方法来获取一个 Interval 对象。
我的目标是检查该字符串的格式是否正确,DateFormatExeption
如果格式不正确则抛出。
final Interval validDateRange = Interval.parse(dateRange);
如果字符串格式正确,解析函数似乎不会引发任何异常。
如何解决这个问题?
我在变量中存储了一个字符串,dataRange
并使用Interval.parse()
方法来获取一个 Interval 对象。
我的目标是检查该字符串的格式是否正确,DateFormatExeption
如果格式不正确则抛出。
final Interval validDateRange = Interval.parse(dateRange);
如果字符串格式正确,解析函数似乎不会引发任何异常。
如何解决这个问题?
Interval.parse()
DateFormatException
如果提供的字符串无效,则不会抛出 a 。相反,它会抛出一个IllegalArgumentException
. DateFormatException
不是 Java 或 JodaTime 内置的异常类,因此您需要自己创建它(这很容易)
如果你想抛出一个DateFormatException
then 可以将调用包装在一个 try 块中并执行以下操作:
final Interval validDateRange = null
try{
validDateRange = Interval.parse(dateRange);
catch(InvalidArgumentException e){
throw new DateFormatException("date format not valid",e);
}
但InvalidArgumentException
如果字符串为空,如果日期格式正确但范围错误(例如结束日期在开始之前),也会被抛出。DateFormatException
异常消息会告诉您出了什么问题,但在所有这些情况下都抛出 a 可能不正确