• java 自己定义异常,记录日志简单说明!留着以后真接复制


    log4j 相关配制说明:http://blog.csdn.net/liangrui1988/article/details/17435139

    自己定义异常

    package org.rui.ExceptionTest;
    
    
    
    public class ExtraFeature {
    	//-------使用------
    	public static void f()throws MyException
    	{
    	 System.out.println("MyException from f()");
    	 throw new MyException();
    	}
    	
    	public static void l()throws MyException
    	{
    	 System.out.println("MyException from l()");
    	 throw new MyException("Originated in l()");
    	}
    	
    	
    	public static void r()throws MyException
    	{
    	 System.out.println("MyException from r()");
    	 throw new MyException("originated(起源) in r()");
    	}
    	
    	//-------main---------
    	public static void main(String[] args) 
    	{
    		try {
    			f();
    		} catch (MyException e) {
    			e.printStackTrace(System.out);
    		}
    		try {
    			l();
    		} catch (MyException e) {
    			e.printStackTrace(System.err);
    		}
    		try {
    			r();
    		} catch (MyException e) {
    			e.printStackTrace(System.out);
    			System.out.println("getLocalizedMessage: "+e.getLocalizedMessage());
    		    //栈轨迹
    			for(StackTraceElement ste:e.getStackTrace())
    				System.out.println("methodName:"+ste.getMethodName());
    		}
    	}
    
    }
    
    //自己定义异常---
    class MyException  extends Exception
    {
    	private int x;
    	public MyException(){}
    	public MyException(String msg){super(msg);}	
    	public MyException(String msg,int x)
    	{
    		super(msg);
    		this.x=x;
    	}
    	
    	public int val(){return x;}
    	public String getMessge()
    	{
    		return "Detail Message: "+x+"super.getmessage()";
    	}
    }
    

    异常与日志 简单说明

    package org.rui.ExceptionTest;
    
    import java.io.PrintWriter;
    import java.io.StringWriter;
    import java.util.logging.Logger;
    
    
     
     public class LoggingExceptions{
    	 public static void main(String[] args) {
    	
    		
    				try {
    					throw new LoggingException();
    				} catch (LoggingException e) {
    					System.err.print("Caught: "+e);
    				}
    				
    				try {
    					throw new LoggingException();
    				} catch (LoggingException e) {
    					System.err.print("Caught2: "+e);
    				}
    			
    		
    	}
     }
     
     class LoggingException extends Exception{
    	private static Logger logger=Logger.getLogger("LoggingException");
    	
    	public LoggingException() {
    		StringWriter trace=new StringWriter();
    		printStackTrace(new PrintWriter(trace));
    		logger.severe("severett:"+trace.toString());
    	}
    
    }
    

    package org.rui.ExceptionTest;
    
    import java.io.FileNotFoundException;
    import java.io.PrintWriter;
    import java.io.StringWriter;
    import java.util.logging.Logger;
    
    
     
     public class LoggingException2{
    	 private static Logger logger=Logger.getLogger("LoggingException");
    	 
    	 static void LogException(Exception e) {
    			StringWriter trace=new StringWriter();
    			e.printStackTrace(new PrintWriter(trace));
    			logger.severe("severett:"+trace.toString());
    			
    	}
    	 
    	 public static void main(String[] args) {
    		
    		 try {
    			 throw new NullPointerException();
    		} catch (NullPointerException e) {
    			LogException(e);
    		}
    		
    			
    		
    	}
     }
     
    
    	
    	
    	
    


  • 相关阅读:
    译:编程面试的10大算法概念汇总
    Android内存优化之封装九宫格
    Android Java 程序员必备开发工具
    译:如何成为一个通晓多种编程语言的程序员
    8大排序算法图文讲解
    Android酷炫实用的开源框架(UI框架)
    Android动态加载字节码
    利用无效字节码指令引发逆向工具崩溃(二)
    oracle 12c linux服务器启动监听
    oracle无主键去重方法
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/7044110.html
Copyright © 2020-2023  润新知