捕获Java类错误

时间:2018-07-26 18:38:45

标签: java android

我在捕获Android应用程序中的错误时遇到问题。这只是为了练习,但这是以下问题:

我有一个从屏幕和文本框中获取值的类。然后,将它们转换为具有StartBreakFinish的日班。

然后,GetHours()方法将12:30之类的值分为12和.5(12.5),并使用简单的公式HoursWorked = (Finish - Start) - Lunch;反馈多少小时?

我的问题是,如果我使用这样的课程,我是否能够捕捉到错误,例如在45:78开始工作(不可能),如果可以,那么我在哪里可以在主要活动或课程中捕捉到错误?

感谢任何帮助!

2 个答案:

答案 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视为错误。