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);
} }
}
java 自己定义异常,记录日志简单说明!留着以后真接复制的更多相关文章
- 【Java基础】异常的简单分类与处理
Java中所有的异常都继承自Throwable类,Throwable类的已知子类有Error和Exception. Error是指系统出现的错误,这种错误出现的时候,我们的程序无能为力,所以不需要进行 ...
- Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法
当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...
- 【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...
- 【java基础之异常】死了都要try
目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常thro ...
- Core Java 总结(异常类问题)
所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 下面的代码输出结果是多少?为什么?并由 ...
- 【Java心得总结二】浅谈Java中的异常
作为一个面向对象编程的程序员对于 下面的一句一定非常熟悉: try { // 代码块 } catch(Exception e) { // 异常处理 } finally { // 清理工作 } 就是面向 ...
- 关于java中的异常问题 1
1.首先参考一下关于java异常处理方面的知识 查看博客http://lavasoft.blog.51cto.com/62575/18920/ 这里介绍的很好,下面从中学习到一些东西,摘抄如下: 1. ...
- spring 第一篇(1-1):让java开发变得更简单(下)
切面(aspects)应用 DI能够让你的软件组件间保持松耦合,而面向切面编程(AOP)能够让你捕获到在整个应用中可重用的组件功能.在软件系统中,AOP通常被定义为提升关注点分离的一个技术.系统由很多 ...
- Java throw:异常的抛出怎么回事
到目前为止,你只是获取了被Java运行时系统抛出的异常.然而,程序可以用throw语句抛出明确的异常.Throw语句的通常形式如下: throw ThrowableInstance;这里,Thr ...
随机推荐
- MyBatis中关于SQL标签的用法(重用SQL 代码段)
一. 没用sql标签前的SQL映射代码: <select id="findById" resultType="cn.tedu.mybatis.entity.User ...
- Intellij IDEA 2018.3激活破解方法(解决key is invalid)
1.程序安装包: https://download.jetbrains.8686c.com/idea/ideaIU-2018.3.exe 2.破解补丁:http://idea.lanyus.com/j ...
- grant 命令
创建拥有所有权限账户.可以远程连接.并且允许用户再将该权限授予其它用户: grant all privileges on *.* to root @"%" identified b ...
- BZOJ 3376 [Usaco2004 Open]Cube Stacking 方块游戏(带权并查集)
题解 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #in ...
- IdentityServer4-前后端分离之Vue
原文:IdentityServer4-前后端分离之Vue 前言 之前文章讲到如何使用Node.js+Express构建JavaScript客户端,实现前后端分离.本节将介绍如何使用Vue实现前后端分离 ...
- [terry笔记]11gR2_dataguard_主备库切换
主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GU ...
- wipefs进程是啥,占用了百分之90多的cpu
http://www.cnblogs.com/liuchuyu/p/7490338.html
- MATLAB插值
转自原文 MATLAB插值 插值问题 在应用领域中,由有限个已知数据点,构造一个解析表达式,由此计算数据点之间的函数值,称之为插值. 实例:海底探测问题 某公司用声纳对海底进行测试,在5×5海里的坐标 ...
- When you are old (当你老了)
- William Butler Yeats --威廉·巴特勒·叶芝 When you are old and grey and full of sleep: 当你老了,头发花白,睡意沉沉. And ...
- HDU 3016 Man Down(线段树)
HDU 3016 Man Down 题目链接 题意:是男人就下100层的游戏的简单版,每次仅仅能从两端下落.求落地最大血量 思路:利用线段树能够处理出每一个线段能来自哪几个线段.然后就是dag最长路了 ...