gpt4 book ai didi

java - 第一个计时器..java异常

转载 作者:行者123 更新时间:2023-12-01 15:05:05 24 4
gpt4 key购买 nike

我是java世界的新手..但基本上我正在尝试用pig-latin编写用户定义的函数。

以下是相关代码。

public class time extends EvalFunc<String>{

public String exec(Tuple input) throws IOException {

if ((input == null) || (input.size() == 0))
return null;
try{
String time = (String) input.get(0) ;
DateFormat df = new SimpleDateFormat("hh:mm:ss.000");
Date date = df.parse(time);
String timeOfDay = getTimeOfDay(date);
return timeOfDay;
} catch (IOException e) {
throw e;
}

}

所以基本上输入是一个元组...我检查元组是否为空..然后将该日期字符串转换为时间对象..然后解析时间部分..然后是函数

  getTimeOfDay(date) returns a string... like breakfast, lunch dinner.. or empty string depending on the time hours..

现在的问题是我的 eclipse 显示错误(红线)

 Date date = df.parse(time);
String timeOfDay = getTimeOfDay(date);

 Unhandled exception type ParseException

但是无论我尝试什么(给我3个选项..将catch子句添加到周围的try,将异常添加到现有的catch block 并用try/catch包围..),错误会转移..但总是tehre。

我什至不确定我是否可以更改程序的结构..(方法声明等)..

我该如何解决这个问题。

  A quick guide on udf http://wiki.apache.org/pig/UDFManual

如果你知道pig..或者知道一个简单的方法..那么基本上我想做的是..给定一个类型为“time,id,amount”的输入字符串,检查交易是在一天中的什么时间进行的做了吗?

谢谢

最佳答案

  • 如果您的 exec 方法已声明为抛出 IOException,则无需捕获它并抛出它,因为 throws 声明会自动执行此操作。
  • 至于 ParseException,您必须决定如何处理它。
  • 还缺少一个括号 =)

所以你的代码应该是:

public class time extends EvalFunc<String>{

public String exec(Tuple input) throws IOException {

if ((input == null) || (input.size() == 0))
return null;
try{
String time = (String) input.get(0) ;
DateFormat df = new SimpleDateFormat("hh:mm:ss.000");
Date date = df.parse(time);
String timeOfDay = getTimeOfDay(date);
return timeOfDay;
} catch (ParseException e) {
//how will I handle when df.parse(time) fails and throws ParseException?
//maybe:
return null;
}
} //exec

} //class

关于java - 第一个计时器..java异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com