⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 localizederror.java

📁 java小例程3。多个小例程
💻 JAVA
字号:
import java.text.*;
import java.io.*;
import java.util.*;

public class LocalizedError {
    public static void display(Throwable error) {
        ResourceBundle bundle;
        // 获得所需资源.
        try { 
          bundle = ResourceBundle.getBundle("Errors"); 
        }
        catch (MissingResourceException e) {
            error.printStackTrace(System.err);
            return;
        }

        // 使用错误类名作为资源名称在资源当中查询本地化消息.
        // 如果没有则不能显示本地化错误.
        String message = null;
        Class c = error.getClass();
        while((message == null) && (c != Object.class)) {
            try { 
              message = bundle.getString(c.getName()); 
            }
            catch (MissingResourceException e) { 
              c = c.getSuperclass(); 
            }
        }
        if (message == null) { 
error.printStackTrace(System.err);  return; 
}
        String filename = "";
        int linenum = 0;
        try {
            StringWriter sw = new StringWriter(); .
            PrintWriter out=new PrintWriter(sw);  .
            error.printStackTrace(out);           .
            String trace = sw.toString();          .
            int pos = trace.indexOf(':');              // 查找第一个冒号.
            if (error.getMessage() != null)           // 如果找到本地化错误消息
                pos = trace.indexOf(':', pos+1);      // 查找第二个冒号.
            int pos2 = trace.indexOf(')', pos);        // 查找第N行的尾部
            linenum = Integer.parseInt(trace.substring(pos+1,pos2)); // 第N行
            pos2 = trace.lastIndexOf('(', pos);        // 回到文件名的首部.
            filename = trace.substring(pos2+1, pos);  // 获得文件名.
        }
        catch (Exception e) { ; }

        // 设置于所得消息一起使用的参数表
        String errmsg = error.getMessage();
        Object[] args = {
            ((errmsg!= null)?errmsg:""), error.getClass().getName(),
            filename, new Integer(linenum), new Date()
        };
        // 显示错误消息.
        System.out.println(MessageFormat.format(message, args));
    }

    public static void main(String[] args) {
	try { 
          FileReader in = new FileReader(args[0]); 
        }
	catch(Exception e) { 
          LocalizedError.display(e);	
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -