问答详情
源自:2-6 统一异常处理(下)

完全复制老师代码,利用postman删除一条数据时,抛出异常 空针,直接忽略还是需要处理?

完全复制老师代码,利用postman删除一条数据时,抛出异常 空针,直接忽略还是需要处理?

java.lang.NullpointerException:null     请问需要如何处理?

提问者:soicano 2018-05-15 14:44

个回答

  • 小烧饼
    2019-09-07 10:20:45

    @DeleteMapping("/luckymoneys/{id}")
    public Result deleteById(@PathVariable Integer id){
        service.delete(id);
       return  ResultUtil.success(null);
    
    }
    public void delete(Integer id) {
        Luckymoney luckymoney = new Luckymoney();
        luckymoney.setId(id);
    
        repository.delete(luckymoney);
    }
    @Pointcut("execution(public * com.imooc.luckymoney.controller.LuckMoneyController.*(..)) && !execution(public * com.imooc.luckymoney.controller.LuckMoneyController.delete*(..))" )
    public void log() {
    
    }

    把delete从切入表达式中去除。或者新定义一个切入表达式,让delete方法使用该切入点↓

    @Pointcut("execution(public * com.imooc.luckymoney.controller.LuckMoneyController.*(..)) && !execution(public * com.imooc.luckymoney.controller.LuckMoneyController.delete*(..))" )
    public void logByDel(){
    
    }


  • qq_戏子_6
    2018-09-20 00:04:37

    @DeleteMapping("/girls/{id}")
    public void girlDelete(@PathVariable("id") Integer id){
            girlRepository.deleteById(id);
        throw new GirlException(ResultEnum.SUCCESS);
    }

    无返回值的加个

    throw new GirlException(ResultEnum.SUCCESS);

    就饿可以了

  • 李广生
    2018-06-23 18:15:43

    应该是deleteGirl方法没有返回值,所以(@AfterReturning(returning = "object",pointcut = "log()"))doAftereReturning方法中参数Object为null,然后toString报的空指针吧


  • 慕田峪5416159
    2018-05-20 23:27:03

    我的也会出现这种情况,能成功删除数据,但是会报空指针错误!

  • 丶xiao陈
    2018-05-15 15:15:31

    数据库没数据吧