errorutil.java

来自「老师给的在线航班系统」· Java 代码 · 共 73 行

JAVA
73
字号
package com.toa.abs.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

/**
 * 该类提供错误信息的提示和日志文件的维护
 * @author Administrator
 *
 */
public class ErrorUtil {
	public static final int MESSAGE_FILE_NOT_FOUND_ERROR=0;
	public static final int MESSAGE_FILE_IO_ERROR=1;
	
	private List<ErrorMessage> messages;

	public ErrorUtil(File errorMessageFile){
		this.messages=new ArrayList<ErrorMessage>();
		
		String str=null;
		try {

			FileInputStream fis=new FileInputStream(errorMessageFile);

			BufferedReader br=new BufferedReader(new InputStreamReader(fis));

			while((str=br.readLine())!=null){
				String[] ss=str.split(":");
				ErrorMessage em=new ErrorMessage(Integer.parseInt(ss[0]),ss[1],ss[2]);
				messages.add(em);
			}

		}catch(FileNotFoundException e){
			JOptionPane.showMessageDialog(null,"找不到需要的错误消息文件");//找不到需要的错误消息文件
			e.printStackTrace();
		}catch (IOException e) {
			JOptionPane.showMessageDialog(null,"消息文件损坏或没有访问权限");//消息文件损坏或没有访问权限
			e.printStackTrace();
		}
	}
	
	public  String getMessage(int code){
		for(ErrorMessage em:messages){
			if(em.getCode()==code){
				return em.getMessage();
			}
		}
		return getMessage(0);
	}
	
	public  String getCause(int code){
		for(ErrorMessage em:messages){
			if(em.getCode()==code){
				return em.getCause();
			}
		}
		return getCause(0);
	}
	
	public void showErrorMessageDialog(int code){
		JOptionPane.showMessageDialog(null,getMessage(code)+"\nError Code:"+code+"\nCause:"+getCause(code));
	}

}

⌨️ 快捷键说明

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