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

java 自己定义异常,记录日志简单说明!留着以后真接复制的更多相关文章

  1. 【Java基础】异常的简单分类与处理

    Java中所有的异常都继承自Throwable类,Throwable类的已知子类有Error和Exception. Error是指系统出现的错误,这种错误出现的时候,我们的程序无能为力,所以不需要进行 ...

  2. Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法

    当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...

  3. 【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!

    目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...

  4. 【java基础之异常】死了都要try

    目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...

  5. Core Java 总结(异常类问题)

    所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 下面的代码输出结果是多少?为什么?并由 ...

  6. 【Java心得总结二】浅谈Java中的异常

    作为一个面向对象编程的程序员对于 下面的一句一定非常熟悉: try { // 代码块 } catch(Exception e) { // 异常处理 } finally { // 清理工作 } 就是面向 ...

  7. 关于java中的异常问题 1

    1.首先参考一下关于java异常处理方面的知识 查看博客http://lavasoft.blog.51cto.com/62575/18920/ 这里介绍的很好,下面从中学习到一些东西,摘抄如下: 1. ...

  8. spring 第一篇(1-1):让java开发变得更简单(下)

    切面(aspects)应用 DI能够让你的软件组件间保持松耦合,而面向切面编程(AOP)能够让你捕获到在整个应用中可重用的组件功能.在软件系统中,AOP通常被定义为提升关注点分离的一个技术.系统由很多 ...

  9. Java throw:异常的抛出怎么回事

    到目前为止,你只是获取了被Java运行时系统抛出的异常.然而,程序可以用throw语句抛出明确的异常.Throw语句的通常形式如下:    throw ThrowableInstance;这里,Thr ...

随机推荐

  1. MyBatis中关于SQL标签的用法(重用SQL 代码段)

    一. 没用sql标签前的SQL映射代码: <select id="findById" resultType="cn.tedu.mybatis.entity.User ...

  2. Intellij IDEA 2018.3激活破解方法(解决key is invalid)

    1.程序安装包: https://download.jetbrains.8686c.com/idea/ideaIU-2018.3.exe 2.破解补丁:http://idea.lanyus.com/j ...

  3. grant 命令

    创建拥有所有权限账户.可以远程连接.并且允许用户再将该权限授予其它用户: grant all privileges on *.* to root @"%" identified b ...

  4. BZOJ 3376 [Usaco2004 Open]Cube Stacking 方块游戏(带权并查集)

    题解 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #in ...

  5. IdentityServer4-前后端分离之Vue

    原文:IdentityServer4-前后端分离之Vue 前言 之前文章讲到如何使用Node.js+Express构建JavaScript客户端,实现前后端分离.本节将介绍如何使用Vue实现前后端分离 ...

  6. [terry笔记]11gR2_dataguard_主备库切换

    主备库切换  Switchover  一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GU ...

  7. wipefs进程是啥,占用了百分之90多的cpu

    http://www.cnblogs.com/liuchuyu/p/7490338.html

  8. MATLAB插值

    转自原文 MATLAB插值 插值问题 在应用领域中,由有限个已知数据点,构造一个解析表达式,由此计算数据点之间的函数值,称之为插值. 实例:海底探测问题 某公司用声纳对海底进行测试,在5×5海里的坐标 ...

  9. When you are old (当你老了)

    - William Butler Yeats --威廉·巴特勒·叶芝 When you are old and grey and full of sleep: 当你老了,头发花白,睡意沉沉. And ...

  10. HDU 3016 Man Down(线段树)

    HDU 3016 Man Down 题目链接 题意:是男人就下100层的游戏的简单版,每次仅仅能从两端下落.求落地最大血量 思路:利用线段树能够处理出每一个线段能来自哪几个线段.然后就是dag最长路了 ...