1. 自定义异常捕获处理类
/**
* <h1>异常捕捉</h1>
* */
public class ExceptionHandler implements Thread.UncaughtExceptionHandler { @Override
public void uncaughtException(Thread t, Throwable e) { StackTraceElement[] ses = e.getStackTrace();
System.err.println("Exception in thread \"" + t.getName() + "\" " + e.toString()); for (StackTraceElement se : ses) {
System.err.println("\tat " + se);
} Throwable ec = e.getCause();
if (null != ec) {
uncaughtException(t, ec);
}
}
}
  1. 使用异常捕获处理类
/**
* <h1>想办法打印完整的异常栈信息</h1>
* */
public class CompleteException { private void imooc1() throws Exception {
throw new Exception("imooc1 has exception...");
} private void imooc2() throws Exception { try {
imooc1();
} catch (Exception ex) {
throw new Exception("imooc2 has exception...", ex);
}
} private void imooc3() {
try {
imooc2();
} catch (Exception ex) {
// Throwable
throw new RuntimeException("imooc3 has exception...", ex);
}
} public static void main(String[] args) {
// 默认异常处理
// try {
// new CompleteException().imooc3();
// } catch (Exception ex) {
// ex.printStackTrace();
// } // 使用自定义异常捕获处理类,打印所有异常信息
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler());
new CompleteException().imooc3();
}
}

32.自定义Java异常捕获处理类及其使用的更多相关文章

  1. java异常和错误类总结(2016.5)

    看到以前2016.5.写的一点笔记,拿过来放在一起. java异常和错误类总结 最近由于考试和以前的面试经常会遇到java当中异常类的继承层次的问题,弄得非常头大,因为java的异常实在是有点多,很难 ...

  2. java异常捕获的一点感悟

    class Annoyance extends Exception {} class Sneeze extends Annoyance {} class Human { public static v ...

  3. java异常继承何类,运行时异常与一般异常的区别

    一.基本概念 Throwable是所有异常的根,java.lang.ThrowableError是错误,java.lang.ErrorException是异常,java.lang.Exception ...

  4. java 异常捕获小记

    java 中异常捕获常用的为: try{ //业务代码 }catch(Exception e){ //异常捕获 }finally{ // 不管有无异常, 最后都会执行到这里 } 在方法体内如果想要把异 ...

  5. java异常捕获

    类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断: try { throw new ExampleB("b") } catch(E ...

  6. Java异常捕获之try-catch-finally-return的执行顺序-转载

    情况1:try块中没有抛出异常try和finally块中都有return语句 public static int NoException(){ int i=10; try{ System.out.pr ...

  7. Java异常捕获之一道try-catch-finally语句题

    今天,学习了try-catch-finally语句,本来觉得蛮简单.易懂的.搜了一道相关类型的题.结果信心被泼了盆冷水.先把题Mark一下,出去透透风. public class TestEx { p ...

  8. java 异常捕获与异常处理

    try{会产生异常的代码 }catch(出现异常的类型 e){ 异常出现后处理的方法 } 一旦异常出现又没有异常处理,程序就会中断. public static void main(String[] ...

  9. 异常的概念和Java异常体系结构

    一. 异常的概念和Java异常体系结构     异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架,     是Java语言健壮性的一个重要体现. Ja ...

  10. Android全局异常捕获

    PS:本文摘抄自<Android高级进阶>,仅供学习使用 Java API提供了一个全局异常捕获处理器,Android引用在Java层捕获Crash依赖的就是Thread.Uncaught ...

随机推荐

  1. 老毛桃WinPE以ISO镜像模式安装CentOS7

    准备: 一台新台式机(2TB磁盘),将用于安装centos 7,注意安装前请使用工具将磁盘分区先删除. 一个u盘,用户制作老毛桃winpe启动盘. 从www.laomaotao.org下载最新9.3增 ...

  2. 新的学习历程-python6 字符串基础使用

    1 sentence1 = 'tom\'s pet is a cat' # 单引号中包含转单引号 2 sentence2 = "tom\'s pet is a cat" 3 sen ...

  3. oracle通过计划任务备份表

    1.先手动创建表 create table user01_backup_20210204 select * from user01 commit; 2.清空表 truncate table user0 ...

  4. redis底层数据结构之跳表(skiplist)

    跳表(跳跃表, skiplist) 跳跃表(skiplist)是用于有序元素序列快速搜索查找的数据结构,跳表是一个随机化的数据结构,实质是一种可以进行二分查找的.具有层次结构的有序链表 跳表在原有的有 ...

  5. docker下载java镜像,执行xxx.jar文件

    docker pull java:8u111

  6. keil调试教程

    点击跳转 如果开启调试就提示弹框错误2k,说明你没有破解你的keil,网上自行下载注册机. 调试一定要对应自己板子的晶振,否则当你测试你的延时实际时间时,keil里的sec会不一样,甚至离谱.

  7. gitlab 已有代码仓库推送到另外一个gitlab仓库

    创建一个新仓库 git clone ssh://git@gitlab.***************.git cd plt-calcium-report-web touch README.md git ...

  8. boost asio 网络编程案例简单改写

    boost教程:http://zh.highscore.de/cpp/boost/ 改写7.4网络编程案例,服务器支持连接多个客户端 服务端: #include <iostream> #i ...

  9. mysql转国产数据库达梦随记

    记录一下转换的一些小坑. window环境 项目是springboot+ activiti6 + vue 第一步转移数据: mysql5.7  ---> 达梦7 这里使用dm的工具进行转换.发现 ...

  10. #pragma 小节

    (1)#pragma startup function-name <priority> (2)#pragma exit function-name <priority>   含 ...