由于数组越界,这会引发代码故障,java会抛出一个ArrayIndexOutOfBoundsException异常。由于发生了异常,所以后面的数组输出语句就不会被执行。 而我们在catch中接收了ArrayIndexOutOfBoundsException异常,这个异常与try中抛出的异常是一致的,所以代码会跳转到catch中进行异常的处理。另外在上面的处理代码块中,我们可以通过Excep...
你要做的就是counts[word.charAt(i) - 'A']++内部try-catch块,如下所示:
在Java中,try catch可以捕获以下类型的异常: Checked exceptions(受检异常):在方法中必须显式地声明或捕获的异常,例如IOException、SQLException等。 RuntimeExceptions(运行时异常):继承自RuntimeException类的异常,例如NullPointerException、ArrayIndexOutOfBoundsException等。 Errors(错误):继承自Error类的异常,通常表示...
下面通过示例演示多重catch的用法,代码如下:代码在没有命令行输入参数条件下运行导致被零除异常,因为a为0。如果输入一个命令行参数,把a设成大于零的数值,不会出现被零除的异常。但是它将导致ArrayIndexOutOf BoundsException异常,因为整型数组c的长度为1,而程序试图给c[10]赋值。从上面的例子可以看出,一段...
}catch(ArrayIndexOutOfBoundsException e){ e.printStackTrace(); } finally { System.out.println("完成"); } } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 如果不捕获异常,执行到错误代码,就会程序终止,不会执行到下面的代码。在上述代码中,ArrayIndexOutOfBoundsException,这个是...
}catch(ArrayIndexOutOfBoundsException e){ System.out.println("[Exception thown] "+e); }finally{ System.out.println("被调用类抛出的异常传递到主类中,主类可对其进行处理"); } System.out.println("---"); demo.demo3(); } }classDemo...
* 函数产生一个OutIndexOfException异常 */ public static void Second(){ System.out.println("第二个异常处理的样例"); int[] arr=new int[3]; try{ for(int i=0;i<4;i++){ arr[i]=i; } } catch(Exception e){ System.out.println("第二个函数捕获了异常"); ...
由于finally块是可以省略的,异常处理格式可以分为三类:try{ }——catch{ }、try{ }——catch{ }——finally{ }、try{ }——finally{ }。 public static void main(String args[]) { try //要检查的程序语句 { int a[] = new int[5]; a[10] = 7;//出现异常 } catch(ArrayIndexOutOfBoundsExcep...
int[] arr = {1,2,3};try {arr[6] = 10;} catch (ArrayIndexOutOfBoundsException e) {// //getmessage方法 返回 throwable 消息字符串// String message = e.getMessage();// System.out.println(message);// tostring返回问题的简短描述// System.out.println(e.toString());//将错误以红色字体...
();System.out.println("结束");}public static void method() {try {int[] arr = {1, 2, 3};System.out.println(arr[3]);System.out.println("这里能够访问到吗");} catch (ArrayIndexOutOfBoundsException e) {// System.out.println("你访问的数组索引不存在,请回去修改为正确的索引");e....