zoukankan      html  css  js  c++  java
  • 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);
    		}
    		
    			
    		
    	}
     }
     
    
    	
    	
    	
    


  • 相关阅读:
    智能合约初体验
    安装solidity遇见的问题——unused variable 'returned'
    Clojure学习笔记(二)——函数式编程
    《Java虚拟机并发编程》学习笔记
    Clojure学习笔记(一)——介绍、安装和语法
    Ubuntu配置pyethapp
    no leveldbjni64-1.8 in java.library.path
    Merkle Patricia Tree (MPT) 树详解
    Ubuntu下配置和编译cpp-ethereum客户端
    conda安装python库出现ssl error
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/7044110.html
Copyright © 2011-2022 走看看