java 数组 和 异常下

1. 对于数组和对象类型,我们介绍过,它们都有两块内存,一块存放实际的内容,一块存放实际内容的地址,实际的内容一般不是分配在栈上的,而是分配在堆上的,但存放地址的空间是分配在栈上。

2. 对于数组arr,在栈中存放的是实际内容的地址,堆中存放的是实际内容。当栈空间没有变量指向堆里内容的时候,java系统会自动进行垃圾回收,从而释放这个空间。

异常下:

异常处理机制将根据抛出的异常类型找第一个匹配的catch块,找到后,执行catch快内的代码,其他catch块就不执行了,如果没有找到,会继续到上层方法中查找,需要注意的是,抛出的异常类型是catch中声明异常的子类也算匹配。

finally 内的代码不管有无异常发生,都会执行,具体来说:

1. 如果没有异常发生,在try 内的代码执行结束后执行。

2. 如果有异常发生,且被catch捕获,在catch 内的代码执行结束后执行。

3. 如果有异常但没被捕获,则在异常抛给上层之前执行。

4. 如果finally 中有return,则会忽略try{}catch中的异常,直接返回值,如果finally中有异常抛出,则原异常就会被覆盖。

RuntimeException业界认为是程序处理时的逻辑错误,我们应尽可能避免程序出现这种错误,checkException是在编译时必须声明并处理。


真正出现异常的时候应该抛出异常,而不是返回特殊值。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值