Java基础语法<十一> 异常 断言 日志 调试
1 处理错误
1.1 异常分类
- 错误的类型转换 ClassCastException
- 数组访问越界 ArrayIndexOutOfBoundsException
- 访问空指针 NullPointerException
- 指定的类不存在ClassNotFoundException
- 数学运算符异常 ArithmeticException
- 方法参数错误 IllegalArgumentException
- 没有权限访问 IllegalAccessException
- 试图在文件尾部后面读取数据
- 试图代开一个不存在的文件。
- 试图根据给定的字符串查找Class对象,而这个字符串表示的类并不存在。
1.2 声明已检查异常
1.3 如何抛出异常
1.4 创建异常类
2 捕获异常
3 使用异常机制的技巧
- 异常处理不能代替简单的测试 使用if判断
- 不要过分地细化异常
- 利用异常层次结构
- 不要压制异常
- 在检测错误,苛刻要比放任好
- 不要羞于传递异常
4 使用断言
4.1 启用和禁用断言
4.2 使用断言完成参数检查
4.3 为文档假设使用断言
5 记录日志
5.1 基本日志
5.2 高级日志
5.3 修改日志管理器配置
5.4 本地化
5.5 处理器
5.6 过滤器
5.7 格式化器
5.8 日志记录说明
6 调试技巧
- 1 使用打印任意值
- 2 类中放一个main方法 单元测试
- 3 Junit
- 4 日志代理
- 5 利用Throwable类提供的printStackTrace方法,可以从任何一个异常中获得堆栈情况。
- 6 堆栈跟踪显示在System.err上
- 7 将一个程序中的错误信息保存在一个文件中
- 8 让非捕获异常的堆栈跟踪出现在System.err中并不是一个很理想的方法。
- 9 可以用-verbose启动java虚拟机观察类的加载过程
- 10 Xlint 选项编译器对一些普通容易出现的代码问题进行检查
- 11 java虚拟机对java应用程序进行监控和管理的支持
- 12可以使用jmap实用工具获得一个堆的转储,其中显示了堆中的每个对象。
- 13 如果使用-Xprof标志运行java虚拟机,就会运行一个基本的剖析器来跟踪那些代码中经常被调用的方法。
7 使用调试器
Java基础语法<十一> 异常 断言 日志 调试的更多相关文章
- [core java学习笔记][第十一章异常断言日志调试]
第11章 异常,断言,日志,调试 处理错误 捕获异常 使用异常机制的技巧 使用断言 日志 测试技巧 GUI程序排错技巧 使用调试器 11.1 处理错误 11.1.1异常分类 都继承自Throwable ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- JavaSE基础(三)--Java基础语法
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...
- Java-Runoob:Java 基础语法
ylbtech-Java-Runoob:Java 基础语法 1.返回顶部 1. Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍 ...
- (四)Java 基础语法
Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一 ...
- Java基础语法知识你真的都会吗?
第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...
- 2、Java 基础语法标识符、修饰符、变量、 数组、枚举、关键字
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
随机推荐
- 设计模式二:MVC
先附上部分代码: /* *MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发. *Model(模型) - 模型代表一个存取数据的对 ...
- 基于Python + requests 的web接口自动化测试框架
之前采用JMeter进行接口测试,每次给带新人进行培训比较麻烦,干脆用python实现,将代码和用例分离,易于维护. 项目背景 公司的软件采用B/S架构,进行数据存储.分析.管理 工具选择 pytho ...
- SQL Server Alwayson可用性副本会话期间的可能故障
200 ? "200px" : this.width)!important;} --> 介绍 物理故障.操作系统故障或 SQL Server 故障都可能导致两个可用性副本之间 ...
- windows手动搭建Kotlin命令行环境
kotlin官网:https://kotlinlang.org 我们可以从GitHub下载.目前最新版本是1.1.2-5 https://github.com/JetBrains/kotlin/rel ...
- 常用linux小工具介绍
1.ctags(Generate tag files for source code)是vim下方便代码阅读的工具.尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM. ctags 最先是 ...
- java基础之集合篇
(一) 集合类位于JDK中java.util包中. 常用的集合类型分布在java.util.Collection和java.util.Map接口中. java.util.Collection=> ...
- mysql基于binlog回滚工具_flashback(python版本)
update.delete的条件写错甚至没有写,导致数据操作错误,需要恢复被误操作的行记录.这种情形,其实时有发生,可以选择用备份文件+binlog来恢复到测试环境,然后再做数据修复,但是这样 ...
- 网页中区分IE各版本
CSS Hack 直接在CSS文件中写CSS Hack是非常直观的区分方法.区分不同IE版本的hack代码为 #content{ background:red; /* 所有浏览器 */ backgro ...
- qmake 提示 Failure to open file:****
执行qmake时报错,如下图所示: 解决方法: 将***.pro文件夹的属主改为当前用户,具体操作为: 1.切换登录用户为:root 2.#chown -R ies:ies /usr/appsoft ...
- 【LeetCode】122. Best Time to Buy and Sell Stock II
题目: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...