① 请说出什么是异常?
程序在运行过程中产生的不正常的现象称为异常
② 请说出什么是异常处理机制(if代码块的缺点)?
在程序运行过程中如果产生异常,将根据预定义的方案或者解决办法进行处理、当处理完以后、程序还将继续运行直到结束,形成有效的、稳健的处理流程,这样的过程称为异常处理机制。
if语句在处理异常时暴露的缺点:
A:在程序中加入大量的if语句处理异常,将使得代码变得臃肿,降低代码的的可读性和维护性。
B:使用if这种穷举法、很难列举出所有的异常情况、还是不能提高的软件的健壮性
C:降低了软件的交互性
D:if逻辑判断语句在处理异常时会耗费开发者的大量精力处理异常,降低开发效率
E:在企业级开发过程中、if逻辑判断语句在处理异常时会将异常处理代码与正常的业务代码交至在一起,降低了可读性,提高了开发成本。
③ 请说出try---catch块的执行流程?
A、当try中的代码块全部正常执行完后,将结束整个try---catch代码块
继续执行后续代码
B、当try中的代码块只要有一行代码执行过程中有异常、将结束try中的代码块
程序将执行catch中的代码块。
C、catch中的代码块执行完后、根据实际开发需要、执行后续处理。
强制退出、改变原有的执行流程 ====> System.exit(0);
④ 请说出try---catch---finally块的执行流程?
A:不管try的业务代码块是否正常,都将执行finally中的代码
B:但System.exit(0)语句可以临时改变执行流程
C:finally不能单独使用、可以与try语句结合使用
⑤ 请说出throw和throws的区别?
throws:
1、出现在方法列表的后面
2、可以指明一个或者多个异常类(如果有继承关系,子类在前父类在后)
3、在方法中不能单独使用
throw:
1、出现在方法体中
2、抛出一个对象
3、在方法体中可以单独使用
4、在实际开发过程中结合开发需求(即自定义异常类型)后使用
⑥ 请说出多重catch块的执行顺序?
A:在开发过程中可以出现多重catch块
B:推荐子类在前、父类在后的代码组织顺序
C:只要前面的子类有一个被捕捉,后面的异常将不进行处理
⑦ 请说出常用的异常类型?
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
⑧ 请说出什么是日志及其分类?
日志:在软件系统运行的过程中、记录并跟踪相关状态的信息===>日志
分类:
A:业务日志
B:SQL日志
C:异常日志
作用:
A:记录软件的运行状态
B:根据状态信息提前预知软件的的健康度
C:当系统出现异常时、根据日志可以跟踪、处理异常。
D:在数据库开发中可以使用日志进行数据库的恢复工作。
E:日志在在特定的国度和背景下、可以作为法律依据。
Log4j介绍:
(1)Log4j是一款日志管理工具,属于Apache的开源项目
(2)通过属性配置文件进行日志的管理
(3)推荐在官网下载log4j的jar包
(4)在企业级开发中通常与其他主流框架结合使用
(5)该日志管理工具是轻量级的框架
轻量级介绍:
(1)本身提供的jar包体积小
(2)在企业级开发中消耗的内存少
(3)具有非侵入式的特征(EasyUI就是侵入式的)