引言:异常是java中常常出现的情况,那么异常的促成结构是怎样的呢?以及什么时候该抛出异常,什么异常是我们可以控制的?等;下面是自己学习异常的一个简单总结:
1:异常分类:
所有的异常都是从Throwable中派生出来的;如上图:
这里我简单谈谈什么叫已检查异常和未检查异常?
已检查异常: 就是需要我们在程序运行前捕获或者Throws的异常;说直白点就是执行这段代码肯定会出现异常,我们已经检查了出来了;主要有IOException中的异常
未检查异常:主要是指这些异常编译器并没有发现,需要在程序运行过程中才能够发现具体的异常情况;这种异常一般都是我们程序员员自己的问题,程序中应该尽量避免这些问题;
2:断言:是指程序在测试期间向代码中插入部分测试语句,当代码发布时,这些代码会被自动移除;语法为:Assert:测试代码;
默认情况下断言是被禁用的;在启动或者禁止断言时,不需要重新编异程序,因为断言是由类加载器管理的;
断言:仅仅适用于开发和测试;
3:日志:
A:使用日志的优点:
```<1>:可以很容易的取消全部日志记录,或者仅仅取消某个级别的日志;而且打开和关闭这个操作也叫容易
<2>:可以很简单的禁止日志记录的输出,因此将这些日志代码留在程序中的开销很小
<3>:日志记录可以定向到不同的处理器,用于在控制台显示,用于存储在文件中
<4>:日志记录器和处理器都可以对记录进行过滤,过滤器可以根据过滤实现器。
<5>:日志记录可以采用不同的方式格式化;
<6>:应用程序可以使用多个日志记录器,他们使用类似包名这种具有层次结构的名字,例如:com.mycompany.myapp;
<7>:默认情况下,日志系统的配置由配置文件控制;如果需要的话,应用程序可以替换这个配置
B:日志是什么:
记录程序运行过程中产生的一些数据以及路径
C:创建日志:
a:Logger.getGlobel().info();
b:创建高级日志
Private static final Logger mylogger =
Logger.getLogger(“包路径名”);
c:日志级别:
SEVERE(servere)
WARNING(warning)
INFO(info)
CONFIG(config)
FINE(fine)
FINER(finer)
FINEST(finest)
默认情况下仅仅访问前三个级别
可以设置级别:Logger.setLevel(Level.SEVERE)
为一个简单的应用程序安转一个简单的日志处理器;
logger= Logger.getLogger(“com.mycompany.myprog”);
网友评论