我想在获取异常并从catch获取时传递对象.我UserDataException
从Exception扩展
throw new UserDataException("Media uploaded failed",mediaDO, dupkExp);
Run Code Online (Sandbox Code Playgroud)
mediaDO
是对象.
如果可能的话,mediaDo
从catch
声明中获取此对象
catch (UserDataException uExp) {
}
Run Code Online (Sandbox Code Playgroud)
UserdataException
calss:
public class UserDataException extends Exception {
private static final String ERROR = "Database Transaction Error: ";
private static final String DKERROR = "Duplicate Key Error";
/**
*
*/
private static final long serialVersionUID = 6209976874559850953L;
/**
*
*/
public UserDataException(String message, Throwable throwable) {
super(message, throwable);
}
public UserDataException(String message) {
super(message);
}
/**
* <code>UserDataException</code> thrown with message and throwable object
*
* @param schdulerData
* @param message
* @param throwable
*/
public UserDataException(String message, SchedulerData schdulerData, final Throwable throwable) {
super(ERROR + message, throwable);
}
/**
* <code>UserDataException</code> thrown with message and throwable object
*
* @param schdulerData
* @param message
* @param throwable
*/
public UserDataException(String message, MediaDO mediaDO, final Throwable throwable) {
super(DKERROR + message, throwable);
}
Run Code Online (Sandbox Code Playgroud)
}
请尽可能帮助..
您必须在异常类中存储对该对象的引用,并使用getter来获取它:
private MediaDO mediaDO;
public UserDataException(String message, MediaDO mediaDO, final Throwable throwable) {
super(DKERROR + message, throwable);
this.mediaDO = mediaDO;
}
public MediaDO getMediaDO()
{
return mediaDO;
}
Run Code Online (Sandbox Code Playgroud)
然后在catch块中:
catch (UserDataException uExp) {
MediaDO mediaDO = uExp.getMediaDO();
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5522 次 |
最近记录: |