2015-10-07 51 views
0

任何人都可以建议我将数据包装为异常是Java中的一个良好实践吗?异常包装

下面是我打算做的事情:我想将某些细节包含在异常中,并希望在出现异常时访问这些细节。

class MyCustomException extends Exception{ 

private String id; 
private String name; 

public MyExcpetion(String id, String name){ 
this.id = id; 
this.name = name; 
} 

public String getId(){ return this.id; } 
public String getName() { return this.name } 

} 

问候, 桑迪..

+0

你会在哪里使用异常 - 你可以添加更多的上下文吗? –

+0

Mick, 我会根据异常收到的重定向到某个页面。作为重定向的一部分,它需要一些额外的参数。 – Sandy

+0

我的意思是,当你的代码中发现其他异常时,总是抛出'MyCustomException'。如果是这样,我会修改构造函数到'public MyCustomException(Throwable cause,String id,String name){super(cause); /*...*/}',以便保留原始原因的堆栈跟踪。 –

回答

0

不是一个坏主意。建议你也观察Exception的接口,所以一定要传递给超类一个错误消息和你可能发现的任何异常。然后这个对象既可以作为一个普通的异常(检查我假设),也可以作为你的自定义类型(用于更聪明的异常处理程序),可以立即使用这些额外的属性。

但真正的问题是,通过拥有这些属性,异常处理程序将会更好。如果他们能够恢复或更好的错误报告,那很好。如果没有,那么做最简单的事情,可能工作。

+0

感谢您的输入Ashley。 – Sandy