天天看點

java自定義異常 部落格_java 自定義異常,記錄日志簡單說明!留着以後真接複制...

自定義異常

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

}

}

}