示例報錯:

java.lang.NullPointerException: null at com.ipharmacare.sf.task.service.MatchAuditPlanService.getThisRecipeMsgList(MatchAuditPlanService.java:948) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.task.service.MatchAuditPlanService.isMzTaskMatched(MatchAuditPlanService.java:115) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.task.service.MatchAuditPlanService.isTaskMatchAuditPlan(MatchAuditPlanService.java:86) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.task.service.PharmacistWorkingService.taskBaseAuditPlanMatch(PharmacistWorkingService.java:60) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.task.service.DistributedTaskService.add(DistributedTaskService.java:107) ~[ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.AuditMainService.submitDistributedTask(AuditMainService.java:753) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.AuditMainService.optMain(AuditMainService.java:311) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.AuditMainService.mainProcess(AuditMainService.java:135) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.filter.HisDataNodeChain.doFilter(HisDataNodeChain.java:26) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.filter.common.HisDataCommonHandler.doFilter(HisDataCommonHandler.java:281) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.filter.HisDataNodeChain.doFilter(HisDataNodeChain.java:28) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.filter.common.XmlValidateHandler.doFilter(XmlValidateHandler.java:74) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.main.service.filter.HisDataNodeChain.doFilter(HisDataNodeChain.java:28) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at com.ipharmacare.sf.thread.RunSfTask.run(RunSfTask.java:39) [ipharmacare-distributed-sf-as-3.2.190523.RELEASE.jar:3.2.190523.RELEASE] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_112] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_112] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112]
對於日志中的報錯信息,在java中拋異常是從內往外,因此只需要重點關注第一行報錯信息,下面的報錯都是由於一層層傳遞調用該方法導致。查看報錯的函數源碼再定位問題: