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. 【AnjularJS系列1 】— 样式相关的指令

    最近,开始学习AngularJS. 开始记录学习AngularJS的过程,从一些很简单的知识点开始. 习惯先从实际应用的指令开始,再从应用中去体会AngularJS的优缺点.使用的场景等. 之前一直希 ...

  2. ZBrush笔刷属性栏简介

    在笔刷的属性栏当中,最先要了解和掌握的就是Zadd和Zsub两个按钮,当激活Zadd按钮时,我们雕刻的形态向屏幕外突出:当激活Zsub时,我们雕刻的形体就会向屏幕内凹陷.如果在激活Zadd按钮时,雕刻 ...

  3. 模块 –OS & OS.PATH

    模块-Os模块: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 In [25]: os.getcwd() Out[25]: 'C:\\Users\\***' os.c ...

  4. react-native之文件上传下载

    目录 文件上传 1.文件选择 2.文件上传 1.FormData对象包装 2.上传示例 文件下载 最近react-native项目上需要做文件上传下载的功能,由于才接触react-native不久,好 ...

  5. Linux 操作基础(一) -- Shell 命令格式和元字符

    1 命令格式 cmd [-选项] [参数] 说明: • 最简单的Shell命令只有命令名,复杂的Shell命令可以有多个选项和参数 • 参数是文件也可以是目录,有些命令必须使用多个操作对象 • 并非所 ...

  6. syn攻击原理与防护措施

    何为syn攻击? 先普及下tcp3次握手的知识,在TCP/IP中,tcp协议提供可靠的socket连接服务,通过3次握手建立可靠连接. tcp3次握手过程: 第一阶段:某终端向服务器发送syn(syn ...

  7. 2015 Multi-University Training Contest 2 hdu 5306 Gorgeous Sequence

    Gorgeous Sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  8. [转] 经典排序算法 - 基数排序Radix sort

    原理类似桶排序,这里总是需要10个桶,多次使用 首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数 例如 待排序数组[62,14,59,88,16]简单点五个数字 分 ...

  9. reactor模式与java nio

     Reactor是由Schmidt, Douglas C提出的一种模式,在高并发server实现中广泛採用. 改模式採用事件驱动方式,当事件出现时,后调用对应的事件处理代码(Event Handl ...

  10. filezilla server配置为 passive mode

    首先要配置filezilla的setting里面的Passive mode setting选项 (2)关键部分,打开win8.1下的防火墙,新建入站规则 注意,要打开80,443端口.已经passiv ...