我想知道在一個構造函數中創建一個帶有多個參數的異常(不同於throwable,字符串),還是這種做法不好?在構造函數中有多個參數的異常
爲什麼我需要一個帶有多個參數的異常,好吧,我們假設我正在分析一個矩陣,當出現錯誤時,我會用該位置引發異常。我想在例外中給出一個明確的錯誤信息,並且我想使用國際化,也就是說,使用不同語言的消息。
例如,消息可以是:
有一個在4位的錯誤,5
HUBO未problema烯LA菲拉4 CON columna 5.
正如你可以看到,這兩個消息的文本是不同的,並且這些值對於消息是重要的以便描述。
我的做法是這樣的:
public class MatrixException extends Exception {
int x;
int y;
public MatrixException (int x, int y){
this.x = x;
this.y = y;
}
public String getMessage(){
return Messages.getString("MatrixException.Message1") + this.x
Messages.getString("MatrixException.Message2") + this.y
Messages.getString("MatrixException.Message3");
}
}
(該Messages
類實現ResourceBundle
類)
有了這種例外的,我可以在對應的語言創建一個描述性的消息,但是我從來沒有見過參數不同於String和Throwable的異常。
我試圖找到關於如何編寫一個定義良好的異常層次結構的信息,但沒有很多文檔,也沒有關於構造函數。
您如何看待我的方法?
如何試用它並查看它是否有效? SO通常是針對具體問題的具體問題,而不是對有關假設的閒置思考。 –