admin线上报出异常:Java.lang.NullPointerException

9 篇文章 0 订阅

2018-08-01下午,admin线下测试提报出如下异常

线下debug发现问题接口代码如下:

    public SqlRet addProcessor(int processorType, String processorContent, String pythonScript, long processorWindow) {
      ...
    }

接口在如下地方调用出现异常。

sqlRet = wmFeatureService.addProcessor(processorType, processorContent, pythonScript, processorWindow);

前端页面代码如下:

            var processorId = $("#processorId").val();
            var processorType = document.getElementById("processorType").options[document.getElementById("processorType").selectedIndex].value;
            var processorContent = $("#processorContent").val();
            var pythonScript = $("#pythonScript").val();
            var processorWindow = $("#processor-window").val();
            var submitData = {
                "processorId": processorId,
                "processorType": processorType,
                "processorContent": processorContent,
                "pythonScript": pythonScript,
                "processorWindow": processorWindow
            };
            $.ajax({
                url: 'processorcheck',
                type: 'post',
                data: submitData,
                success: function (result) {
                }
            }

前端页面中,除掉processorId,processorType,processorContent不为空之外,其他值都可以为空值传到后台。后台在调用addProcessor接口的时候,把值为空的processorWindow传到了给了long processorWindow,导致报出NullPointerException。

long是基本数据类型,默认值是0,不能为null。Long是long的封装类型,默认值是null。

需要将long类型转成Long。或者在前端页面的代码中为processorWindow加上默认值。

		if(processorWindow==null||processorWindow===""){
                processorWindow=1000;
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值