Bonjour,

Je vous expose mon probleme, j'essaye tant bien que mal de catcher une erreure avec la valeur de ses membres depuis un controller.

Tout d'abord j'ai un controller qui lance une exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
@RequestMapping(value = "/test/test_lancer_exception_2", method = RequestMethod.GET)
public String lancerErreur2(HttpSession pSession, Model pModel) throws TestException {
	TestException vEx = new TestException("Aie ... Aie ...transverse");
	throw vEx;
}
La classe de l'exception (rien de bien folichon je test pour l'instant)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
public class TestException extends RuntimeException {
 
	/**
         * 
         */
	private static final long serialVersionUID = -63247236951560850L;
 
	private String mCustomMsg;
 
        public TestException() {
	}
 
	public TestException(TestException pEx) {
		mCustomMsg = pEx.getCustomMsg();
	}
 
	public TestException(String pCustomMsg) {
		this.mCustomMsg = pCustomMsg;
	}
 
	public String getCustomMsg() {
		return mCustomMsg;
	}
 
	public void setCustomMsg(String pCustomMsg) {
		mCustomMsg = pCustomMsg;
	}
 
}
Donc l'exception contient dans mCustomMsg, aie .... aie .....

Ensuite je la catch par la configuration suivante dans le web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<error-page>		
	<exception-type>monPath.TestException</exception-type>
    	<location>/test/catch_exception_2</location>
</error-page>
En enfin le controller qui est appelé pour l'exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
@RequestMapping(value = "/test/catch_exception_2", method = RequestMethod.GET)
public String erreur_2(com.erdf.prac.transverse.test.exception.TestException pEx, HttpSession pSession, Model pModel) {
	pModel.addAttribute("message", "Attention Transverse ");
	pModel.addAttribute("modelException", pEx);
	return ("/test/test_exception");
}
Le problème est que dans ce controller de reception la valeur de mCusomMsg est NULL!!!!

Comment mapper l'ancienne exception dans le nouveau controller?
Pourquoi ce n'est pas fait automatiquement