-1

I created very simple custom error page. I have a question, whenever I relaunch the program and open localhost:8080 it always throws exception but I don't want that.

Thank for your help

Caused by: java.lang.NullPointerException: null
    at com.OnlineLibrary.Controller.CustomErrorController.error(CustomErrorController.java:16) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_162]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_162]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_162]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_162]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) ~[spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) ~[spring-webmvc-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) ~[spring-webmvc-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) ~[spring-webmvc-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) ~[spring-webmvc-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    ... 57 common frames omitted

And this is my custom controller

@Controller
public class CustomErrorController implements ErrorController {


    @RequestMapping("/error")
    public String error(Model model, Principal user) {
        model.addAttribute("sorryMessage", "Özür Dileriz " + user.getName()+ "     bir hata ile karşılaştık");
        model.addAttribute("weArentWrong", "Belki sen hata yaptın belki biz. Lütfen Linke tıklayarak başlangıca geri dön.");
        return "error";
    }

    @Override
    public String getErrorPath() {
        // TODO Auto-generated method stub
        return null;
    }

}
Ashok Kumar Jayaraman
  • 2,887
  • 2
  • 32
  • 40
Neo
  • 467
  • 1
  • 3
  • 17

1 Answers1

0

I don't know it's right way but

@Controller
public class CustomErrorController implements ErrorController {

    @SuppressWarnings("finally")
    @RequestMapping("/error")
    public String error(Model model, Principal user) {
        try {
            model.addAttribute("sorryMessage", "Özür Dileriz " + user.getName() + " bir hata ile karşılaştık");
            model.addAttribute("weArentWrong",
                    "Belki sen hata yaptın belki biz. Lütfen Linke tıklayarak başlangıca geri dön.");
        } catch (NullPointerException a) {

        } finally {
            return "error";

        }
    }

    @Override
    public String getErrorPath() {
        // TODO Auto-generated method stub
        return null;
    }

}

In this way now I am not getting error, but it seems the wrong way.

Neo
  • 467
  • 1
  • 3
  • 17