Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
 at ExTestDrive.main(ExTestDrive.java:14):

程序代码如下:

 class MyEx extends Exception{}

 public class ExTestDrive {

     public static void main(String[] args) {
// TODO Auto-generated method stub
String test=args[0];
try{
System.out.println("t");
doRisky(test);
System.out.println("o"); //如果没有异常,才会执行下面这一句,如果捕获异常,下面这一句直接跳过去了。
}catch(MyEx e){
System.out.print("a"); }finally{
System.out.println("w"); }
System.out.println("s"); } static void doRisky(String t) throws MyEx { System.out.println("h");
if("yes".equals(t)){ //看来t中会存储main函数传送给它的两个值:yes or not.或许是控制台中传递的参数
throw new MyEx(); }
System.out.print("r");
// TODO Auto-generated method stub } }
 你好,这个异常是初学者比较常见的异常。
ArrayIndexOutOfBoundsException:注意这个单词,字面意思就是数组引用超出界限,也就是我们常说的越界问题。 比如,我们创建了一个数组 int a[] = new int[4] ;
那么数组a只能存放四个元素,而数组的下标是从0开始的,也就是说,a[3]就是最后一个元素。当你给a[4]赋值,或者使用a[4]的时候,就出现了ArrayIndexOutOfBoundsException异常。
 你的args[]定义的是String数组 只给args[]数组声明 没给它分配空间 所以运行后出现的错误的意思是下标越界,代码如下:、
public class b {
public static void main(String args[]){
args=new String[3];
System.out.println("hi!"+args[0]+" "+args[1]+" " +args[2]); }
}
加args=new String[3];是个它分配空间你有args[0],args[1],args[2]三个所以是String[3],还可以给这数组赋值,如args[0]=new String("java")

添加了一句话:args=new String[3],为这个数组分配了空间。

 class MyEx extends Exception{}

 public class ExTestDrive {

     public static void main(String[] args) {
// TODO Auto-generated method stub
args=new String[3];
String test=args[0];
try{
System.out.print("t");
doRisky(test);
System.out.print("o"); //如果没有异常,才会执行下面这一句,如果捕获异常,下面这一句直接跳过去了。
}catch(MyEx e){
System.out.print("a"); }finally{
System.out.print("w"); }
System.out.print("s"); } static void doRisky(String t) throws MyEx { System.out.print("h");
if("yes".equals(t)){ //看来t中会存储main函数传送给它的两个值:yes or not.或许是控制台中传递的参数
throw new MyEx(); }
System.out.print("r");
// TODO Auto-generated method stub }

运行结果就出来了:

throws。

说明控制台Console发送过来的消息是no.就是没有抛出异常。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0的更多相关文章

  1. Java异常理解之Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException

    这个异常是Java中的数组越界问题 当你使用不合法的索引访问数组是会出现这种错误例如: class Solution { public static int climbStairs(int n) { ...

  2. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

    场景:eclipse中编写java中用到数组 问题: 程序不报错但是运行过程中 终止,显示字样 “ Exception in thread "main" java.lang.Arr ...

  3. Java常见异常:Exception in thread "main" java.lang.NoClassDefFoundError

    在某一路径下执行编译好的class文件出错. 异常如下: E:\liwy>java Test98 Exception in thread "main" java.lang.N ...

  4. 编译运行java程序出现Exception in thread "main" java.lang.UnsupportedClassVersionError: M : Unsupported major.minor version 51.0

    用javac编译了一个M.java文件, 然后用java M执行,可是出现了下面这个错误. Exception in thread "main" java.lang.Unsuppo ...

  5. Oozie时出现Exception in thread "main" java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0?

    不多说,直接上干货! 问题详情 [hadoop@bigdatamaster oozie--cdh5.5.4]$ bin/ooziedb.sh create -sqlfile oozie.sql -ru ...

  6. Exception in thread "main" java.lang.UnsupportedClassVersionError : unsupported major.minor version 52.0

    新建好springboot项目后,打开application运行main方法报如下错. 1.问题:Exception in thread "main" java.lang.Unsu ...

  7. 出现Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/gatk/engine/CommandLineGATK : Unsupported major.minor version 52.0问题解决方案

    在做外显子分析Indel Realigner时,弹出以下错误: Exception in thread "main" java.lang.UnsupportedClassVersi ...

  8. Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.minor version 52.0 解决办法

    Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.m ...

  9. Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/common/base/Function : Unsupported major.minor version 52.0的解决办法(图文详解)

    不多说,直接上干货! 问题详情 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/goo ...

随机推荐

  1. linux monitor and maintanence

    @cacti 1.install epel extends source 2.install lamp use yum method yum install -y httpd php php-mysq ...

  2. github提交代码时遇到”Everything up-to-date“问题的解决方式

    需要创建一个新分支,将最新代码加入新分支, 再将新分支合并到主分支,然后提交主分支代码到github网站. ---------------------------------------------- ...

  3. PhotoShop使用指南(2)——下雨动画效果

    第一步: 第二步: 第三步: 第四步:

  4. 树莓派(Linux)与镜像源

    树莓派学习笔记--修改树莓派软件源 1. linux 镜像源文件 >> vim /etc/apt/sources.list 可在树莓派官网 http://www.raspbian.org/ ...

  5. uoj#87. mx的仙人掌

    //Achen #include<bits/stdc++.h> #define For(i,a,b) for(int i=(a);i<=(b);i++) #define Rep(i, ...

  6. 前用户sudo免密码

      Ubuntu 设置当前用户sudo免密码 方法1 # 备份 /etc/sudoers sudo cp /etc/sudoers . #打开 /etc/sudoers sudo visudo # 在 ...

  7. Makefile 自动产生依赖 ***

    代码如下: 其实这里主要是为每个C文件建立一个同名的后缀为.d.该文件的作用是使用gcc的-M属性来自动生成.o文件的头文件依赖关系. 第1,2,4都好理解. 第2行解释: 使用gcc -M 的属性将 ...

  8. laravel redis的使用

    学习源头: https://www.cnblogs.com/redirect/p/6185228.html

  9. Xcode工具特性

    1.注释 #pragma mark 注释说明#pragma mark - 分类/分组注释说明 2.自定义代码块. 3.多文本编辑框 View>>Assistant Editor

  10. 单端IO标准

    单端标准 常用的单端IO标准是LVTTL和LVCMOS. 目前业界绝大部分FPGA/CPLD器件的LVCOMS的IO是由CMOS推挽(push-pull)驱动器构成的,这种结构是上面的PMOS管和下面 ...