`

Java核心技术卷I -- 第11章 异常、断言、日志和调试

阅读更多

1. 异常分类

    所有的异常派生于Throwable

    1.1 Error: 系统内部错误或者资源耗尽

    1.2 Exception

        1.2.1 RuntimeException: 类型转化错误、数组越界、访问空指针

        1.2.2 其他异常: IOException等

    1.3 RuntimeException和Error为未检查异常、其他称为已检查异常

2. 声明异常

    public FileInputStream(String name) throws FileNotFoundException

    子类throws的异常不能超过父类

3. 捕获异常

    try{} catch(){}

4. 捕获并再次抛出异常

    try{

        access the database

    } catch(SQLException e) {

        Throwable se = new ServletException("database error");

        se.setCause(e);

        throw se;

    }

5. finally语句始终都会执行,如果try和finally中都存在return语句,那么最终返回finally中的return

6. 堆栈跟踪

    6.1 在JDK1.4之前,使用printStackTrace方法

    6.2 在JDK1.4及之后,使用StackTraceElement对象数组

        Throwable t = new Throwable();

        StackTraceElement[] frames = t.getStackTrace();

        for (StackTraceElement frame : frames) {print something;}

7. 断言: 断言机制允许在测试期间向代码中插入一些检查语句,当代码发布,插入的检测语句将会自动移走

    7.1 assert x >= 0; 检查是否为非负数 或者 assert x >=0 : x; 将x的实际值传递给AssertionError对象,在后面显示出来

    7.2 启动断言: java -enableassertions MyApp 或者 java -ea MyApp

8. Java调试技巧

    8.1 -verbose: 运行Java虚拟机,观察类的加载过程

    8.2 javac -Xlint 对一些普遍代码问题进行检查

    8.3 监控应用程序,查看内存消耗、线程使用、类加载情况

        java -Dcom.sun.management.jmxremote MyProgram.java    // 启动虚拟机

        jconsole processID // 运行jconsole,在Win下,使用任务管理器查看processID,linux下使用ps查看

    

分享到:
评论

相关推荐

    Java核心技术 第12版 开发基础+高级特性 英文原版

    《Java核心技术 第12版》是一本针对Java开发基础和高级特性的详尽教程,适合Java初学者和有经验的开发者。本版已更新至Java 17,涵盖了最新的语言特性。作者Cay S. Horstmann是美国圣何塞州立大学的计算机科学教授,...

    Java核心技术 卷I(原书第8版).Part1 pdf

    共分两个压缩包 此为第一个压缩包 第1章 Java 程序设计概述 1.1 Java 程序设计平台 1.2 Java 白皮书的关键术语 1.2.1 简单性 ...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    JAVA核心技术(卷1)基础知识(中文第8版)-part1

    《JAVA核心技术 中文第八版》共分(卷1基础知识)和(卷2高级特性)两部分,由于文件比较大,共拆分为7个分卷: ...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    java 核心技术卷一 光盘 资料

    这是一个txt文件,迅雷下载地址,复制,新建,下载就可以了 第1章 Java 程序设计概述 第2章 Java程序设计环境 第3章 Java基本的程序...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    java核心技术第八版源代码(全)

    第1章 Java 程序设计概述 1.1 Java 程序设计平台 1.2 Java 白皮书的关键术语 1.2.1 简单性 1.2.2 面向对象 1.2.3 网络技能 ...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    Java核心技术 卷I(原书第8版).part2 PDF

    共分为两个压缩包 此为第2个压缩包 第1章 Java 程序设计概述 1.1 Java 程序设计平台 1.2 Java 白皮书的关键术语 ...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    [java.核心技术.第八版].Core.Java..8th.Edition源代码 示例代码

    第1章 Java 程序设计概述 1.1 Java 程序设计平台 1.2 Java 白皮书的关键术语 1.2.1 简单性 1.2.2 面向对象 1.2.3 网络技能 ...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    JAVA核心技术(卷1)基础知识(中文第8版).part2

    《JAVA核心技术 中文第八版》共分(卷1基础知识)和(卷2高级特性)两部分,由于文件比较大,共拆分为4个分卷: ...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    JAVA核心技术(卷1)基础知识(中文第8版).part1

    《JAVA核心技术 中文第八版》共分(卷1基础知识)和(卷2高级特性)两部分,由于文件比较大,共拆分为4个分卷: ...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    Java核心技术 第八版 卷Ⅰ(基础篇)电子版

    9. **异常、日志、断言和调试**:介绍Java异常处理机制、日志记录的最佳实践、断言的使用方法以及调试技巧。 10. **泛型程序设计**:讨论泛型的基本概念及其在集合框架中的应用,提高代码的复用性和类型安全性。 11....

    Core Java. Volume I. Fundamentals, 8th Edition JAVA核心技术1基础知识

    更新到jdk 6平台,但和 第七版没有本质的区别 代码示例请到此地址下载:【corejava8代码示例】...第11章 异常、日志、断言和调试 第12章 泛型程序设计 第13章 集合 第14章 多线程

    JAVA学习课件

    5. **异常、日志和断言**(第6章 异常、日志和断言.ppt):异常处理是Java程序健壮性的关键部分,涉及try-catch-finally语句块和异常类。日志记录帮助调试和追踪程序运行状态。断言用于在开发阶段进行调试,确保代码...

    java私塾全部笔记

    ##### 第十一章 Swing和GUI事件处理 - **Swing组件** - Swing与AWT的区别。 - JButton、JTextField等Swing组件的使用。 - **事件处理** - 如何注册监听器来处理用户事件。 - ActionListener、ItemListener等监听...

    北京交通大学java课件

    第11章讲解了Java的多线程支持。Java提供了Thread类和Runnable接口来创建和管理线程,使程序能够同时执行多个任务。通过线程,开发者可以提高程序的效率,尤其是在处理I/O密集型或计算密集型任务时。同时,多线程...

    Java测试项目.zip

    Java有内置的日志API,如java.util.logging,也可以使用Log4j或SLF4J等第三方库。调试工具如Eclipse或IntelliJ IDEA的调试器可以帮助开发者定位问题。 11. **版本控制**:项目通常使用Git进行版本控制,确保代码的...

    java_常用jar包整理.rar

    8. **Junit**: JUnit 是Java开发中最常用的单元测试框架,它提供了丰富的断言方法和测试注解,方便进行代码测试和调试。 9. **Apache HttpClient**: HttpClient 是Apache提供的一个用于执行HTTP请求的库,它支持...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    第十一章 使用Struts快速实现Web开发 11.1 Struts介绍 11.1.1 Struts简介 11.1.2 Struts和Spring比较 11.1.3 下载Struts 11.1.4 配置Struts 11.2 Struts的核心 11.2.1 ActionServlet(分发器) 11.2.2 Action(控制...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    第十一章 使用Struts快速实现Web开发 11.1 Struts介绍 11.1.1 Struts简介 11.1.2 Struts和Spring比较 11.1.3 下载Struts 11.1.4 配置Struts 11.2 Struts的核心 11.2.1 ActionServlet(分发器) 11.2.2 Action(控制...

Global site tag (gtag.js) - Google Analytics