我在捕获Android应用程序中的错误时遇到问题。这只是为了练习,但这是以下问题:
我有一个从屏幕和文本框中获取值的类。然后,将它们转换为具有Start
,Break
和Finish
的日班。
然后,GetHours()
方法将12:30之类的值分为12和.5(12.5),并使用简单的公式HoursWorked = (Finish - Start) - Lunch;
反馈多少小时?
我的问题是,如果我使用这样的课程,我是否能够捕捉到错误,例如在45:78开始工作(不可能),如果可以,那么我在哪里可以在主要活动或课程中捕捉到错误?
感谢任何帮助!
答案 0 :(得分:1)
您应该在进行计算的地方抛出错误。在计算出时间是否有效之后进行检查,如果有效则返回该时间。如果不是,则抛出异常。然后,可以使用try / catch将调用该数字的对象括起来,并抛出错误消息,指出该数字无效
示例:
// in getHours() :
double hours = 12.5;
if(hours < 13) { //check to make sure hours is valid/correct
return hours;
}
else{
throw new Exception("Hours value of " + hours + " is not valid");
}
// in main class:
try{
hours = getHours();
}
catch(Exception e){
e.printStackTrace();
}
答案 1 :(得分:0)
在将时间转换为小时:分钟格式时,看起来您的逻辑是错误的,例如,“以45:78开始工作”的输出应为46:18。我建议您查看方法getHour的逻辑并更正计算,而不要考虑将值45:78视为错误。