Вам нужно использовать ErrorAttributes , который "предоставляет доступ к атрибутам ошибки, которые могут быть зарегистрированы или представлены пользователю" .
Возьмите посмотрите:
Основные функции:
import org.springframework.boot.web.servlet.error.ErrorAttributes;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.context.request.WebRequest;
@Controller
public class ErrorHandler implements ErrorController {
private final ErrorAttributes errorAttributes;
public ErrorHandler(ErrorAttributes errorAttributes) {
this.errorAttributes = errorAttributes;
}
@GetMapping("/error")
public String handleError(Model model, WebRequest webRequest) {
model.addAttribute("midasLocation", "xxx");
final Throwable error = errorAttributes.getError(webRequest);
model.addAttribute("exception", error);
model.addAttribute("message", error == null ? "" : error.getMessage());
return "error";
}
@Override public String getErrorPath() {
return "/error";
}
@GetMapping("/throwErrorForTest")
public String throwError() {
throw new RuntimeException("my exception");
}
}
Вы можете оптимизировать свой код следующим образом:
import re
form_win = ['2/5','1/4','3/2','4/1','5/8','1/3','7/10','8/6']
form_chr = ['a','b','c','d','e','f','g','h']
print('uglyst:',[ form_chr[cnt] for cnt, a in enumerate(form_win) if(re.match(r'^1\/', a))])
Вы можете использовать:
b = [form_chr[cnt] for cnt, a in enumerate(form_win) if re.match(r'^1\/', a) is not None]
Вот решение с использованием map, filter и zip
b = list(map(lambda x: x[1], filter(lambda x: re.match(r'^1\/', x[0]) != None, zip(form_win,form_chr))))
.