异常

异常

什么是异常

异常就是在程序的运行过程中所发生的不正常事件,异常会中断正在运行的程序

什么是异常处理

异常处理机制就是在程序执行代码的时候,万一发生了异常,程序会按照预定的处理办法对异常进行处理,异常处理完毕后,程序继续运行。

Java的异常处理是通过五个关键字trycatchfinallythrowthrows来实现的。

常见的异常类型

异常

说明

Exception

异常层次机构的根类

ArithmeticException

算术错误情形,如以零作为除数

ArrayIndexOutOfBoundsException

数组下标越界

NullPointerException

尝试访问null对象成员

ClassNotFoundException

不能加载所需的类

InputMismatchException

欲得到的数据类型与实际输入的类型不匹配

IllegalArgumentException

方法接受的非法参数

ClassCaseException

对象强制类型转换出错

NumberFormatException

数字格式传唤异常,如把“acb”转换成数字

声明异常 throws

Java语言中通过关键字throws声明某个方法可能抛出的异常。throws可以同时声明多个异常,之间用逗号隔开。

通过两种方式处理异常

try-catch捕获并处理异常

通过throws继续声明异常。

抛出异常  throw

Java语言中,使用throw关键字来自行抛出异常。

throwthrows的区别表现在以下三个方面。

作用不同:throw用于在程序中抛出异常;throws用于声明在该方法内抛出了异常。

使用的位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。

内容不同:throw抛出一个异常对象,而且只能是一个;throws后面跟异常类,而且可以跟多个异常类。

异常的分类

Throwable类:所有异常类型都是Throwable类的子类,它派生两个子类,即Error Exception

Error类:表示仅靠程序本身无法恢复的严重错误,如内存溢出动态链接失败、虚拟机错误。应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出)。假如出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。所以在进行程序设计时,应该更关注Exception类。

Exception类:由Java应用程序抛出和处理的非严重错误,如所需文件找不到、网络连接不通或中断、算术运算出错(如被零除)、数组下标越界、装载了一个不存在的类、对null对象操作、类型转换异常等。它的各种不同的子类分别对应不同类型的异常。

运行时异常:包括RuntimeException及其所有子类,不要求程序必须对它们做出处理。例如ArithmeticExceptionInputMismatchException异常,在程序中并没有使用try-catch throws进行处理,仍旧可以进行编译和运行,如果运行时发生异常,会输出异常的堆栈信息并中止程序运行。

Checked异常(非运行时异常):除了运行时异常外的其他由Exception继承来的异常类。程序必须捕获或者声明抛出这种异常,否则会出现编译错误,无法通过编译。处理方式包括两种:通过try-catch 在当前位置捕获并处理异常:通过throws声明抛出异常。交给上一级调用方法处理。

开源日志记录工具log4j

日志根据记录内容不同,主要分为三类

SQL日志:记录系统执行的SQL语句。

异常日志:记录系统运行中发生的异常事件。

业务日志:记录系统运行过程。

Log4j是一个非常优秀的日志记录工具,是Apache的一个开源项目。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值