如何在MySQL失去连接时实现错误处理?

时间:2018-01-30 03:21:20

标签: java spring spring-mvc spring-boot

尝试在应用程序运行时进行错误处理,但数据库(MySQL)失去连接。

目前错误显示" ERR_TOO_MANY_REDIRECTS"

这可能是因为我使用下面的代码实现了一个CustomErrorController吗?

package com.teamlab.todolist.web;

import org.springframework.boot.autoconfigure.web.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

import java.net.ConnectException;


@Controller
public class CustomErrorController implements ErrorController {

    @GetMapping("/error")
    String backToTopePage() {
        return "redirect:/todoLists";
    }

    public String getErrorPath() {
        return "/todoLists";
    }
    try {

    } catch (ConnectException e) {
        return "error/database";
    }
}

以上代码是这样的,当用户输入不存在的URL时,用户将被重定向到首页。

无论如何,我想知道如何在MySQL失去连接时实现错误处理功能。想要像MySQL丢失连接错误一样显示。

在Spring Boot的控制台上,我得到了:

java.net.ConnectException:拒绝连接(拒绝连接)

我应该在CustomErrorController中创建一个try catch块吗?我不确定try块内的内容......

1 个答案:

答案 0 :(得分:1)

您没有显示哪个Controller重定向到/ error。在ConnectionException的情况下,处理/ todoLists的Controller很可能重定向到/ error。如果确实如此,那么正在发生的事情是/ todoLists重定向到/ error和/ error重定向到/ todoLists。因此,浏览器抱怨重定向问题太多。