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); } } }