运行结果:
message: 数组的角标是负数咯~~
String: cn.fuxi.exception.FuShuIndexException4: 数组的角标是负数咯~~
cn.fuxi.exception.FuShuIndexException4: 数组的角标是负数咯~~
at cn.fuxi.exception.Demo4.method(ExceptionDemo4.java:35)
at cn.fuxi.exception.ExceptionDemo4.main(ExceptionDemo4.java:44)
负数角标异常!!!!
over
异常处理方式:
package cn.fuxi.exception;
/**
* 异常处理的原则:
* 1.函数内容如果抛出需要检测的异常,那么函数上必须要声明.
* 否则,必须在函数内用try/catch捕捉,否则编译失败
*
* 2.如果调用到了声明异常的函数,要么try/catch,要么throws,否则编译失败.
*
* 3.什么时候catch,什么时候throws呢?
* 功能内容可以解决,用catch.
* 解决不了,用throws告诉调用者,由调用者解决.
*
* 4.一个功能如果抛出了多个异常,那么调用时,必须有对应多个catch进行针对性处理.
* 内部有几个需要检测的异常,就抛几个异常,抛出几个,就catch几个.
*
* try catch finally 代码块组合特点
* 1.try catch finally
* 2.try catch(多个):当没有资源需要释放时,可以不用定义finally.
* 3.try finally:异常无法直接catch处理,但是资源必须关闭.
*/
class Demo5{
public int show(int index){
if(index <0){
throw new ArrayIndexOutOfBoundsException("越界啦!!");