java.lang.ArithmeticException:在displaytag中除以零

时间:2012-01-25 23:45:48

标签: java displaytag

我在websphere门户中部署的门户网站(Struts Portal Framework)中使用display tag,使用值列表分页进行外部分页(实现PaginatedList)一个强大的异常已经出现 java.lang.ArithmeticException: divide by zero 在以下几行中:

     int pageCount = behavioursPaginatedList.getFullListSize() /  Math.max(1,behavioursPaginatedList.getObjectsPerPage());
        if ((behavioursPaginatedList.getFullListSize() % behavioursPaginatedList.getObjectsPerPage()) > 0)
    {
        pageCount++;
    }


FullListSize = 13
ObjectPerPage = 4


1 个答案:

答案 0 :(得分:3)

有两个地方可以发生

int pageCount = behavioursPaginatedList.getFullListSize() / 
    Math.max(1,behavioursPaginatedList.getObjectsPerPage());

在这种情况下,Math.max(1, ...)保证提供非零值。所以异常不会来自这里

if ((behavioursPaginatedList.getFullListSize() % 
        behavioursPaginatedList.getObjectsPerPage()) > 0)

在这种情况下,如果behavioursPaginatedList.getObjectsPerPage()返回零,那么您将得到除零错误。


获得异常这一事实表明,除以 ,而behavioursPaginatedList.getObjectsPerPage() 返回零。你需要找出发生这种情况的原因。