我的构想是在异常类中进行国际化。
public myException extends Exception
{
myException(ExceptionMessage)
{
ResourceBundle bundle=ResourceBundle.getBundle("properties.properties",currentlocale);
String exceptionmessage=bundle.getString(message);
super(exceptionmessage);
}
}
但是调用超类的构造方法一定要写在第一句。
请问,该怎样将异常信息国际化?
public myException extends Exception
{
myException(ExceptionMessage)
{
ResourceBundle bundle=ResourceBundle.getBundle("properties.properties",currentlocale);
String exceptionmessage=bundle.getString(message);
super(exceptionmessage);
}
}
但是调用超类的构造方法一定要写在第一句。
请问,该怎样将异常信息国际化?
构造方法ExceptionMessage是什么,是通过key去取国际化异常信息然后构造异常类?
那为何不先取好再构造呢,非要在构造的时候取呢?
先取好再构造就要在抛出异常的类中进行国际化。但是这样每个类都要添加国际化的内容。
myException extends Exception
{
myException(String message)
{
ResourceBundle bundle=ResourceBundle.getBundle("properties.properties",currentlocale);
String exceptionmessage=bundle.getString(message);
this(message,exceptionmessage);
}
myException(String key, String content) {
super(content);
}
} 不推荐这么做,因为取信息也可能异常的,异常类基本不做逻辑或者可能抛出异常的操作的
一般都是写个工具类专门通过key提取国际化信息然后在构造自己的异常类的,即使取信息抛错也是容易捕获的
我也没办法了,期待高手吧~