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. Mybatis_总结_05_用_Java API

    一.前言 使用 MyBatis 的主要 Java 接口就是 SqlSession.你可以通过这个接口来执行命令,获取映射器和管理事务. 二.主要类 (1)SqlSession 是由 SqlSessio ...

  2. url字符串中含中文的转码方法

    凡是用get方法的,url里含中文的,都需要调用上面的函数进行编码.要不然会被当成二进制截断. //URL编码 +(NSString*)urlEncode:(NSString *)str { int  ...

  3. uva11134 - Fabled Rooks(问题分解,贪心法)

    这道题非常好,不仅用到了把复杂问题分解为若干个熟悉的简单问题的方法,更是考察了对贪心法的理解和运用是否到位. 首先,如果直接在二维的棋盘上考虑怎么放不好弄,那么注意到x和y无关(因为两个车完全可以在同 ...

  4. [独孤九剑]Oracle知识点梳理(一)表空间、用户

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  5. 隐藏select中的“请选择”项

    <select> <option value="" style="display: none">请选择</option> & ...

  6. JvisualVm添加远程监控

    一.Weblogic远程监控 1.首先需要在远程的weblogic的域下面,找到/bin/ setDomainEnv.sh ,需要在此文件下加入如下内容: -Dcom.sun.management.j ...

  7. Python函数-callable()

    callable(object) 作用: 检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojbect绝对不会成功. 注意: 类是可调用的 ...

  8. 快速沃尔什变换(FWT)学习笔记

    概述 FWT的大体思路就是把要求的 C(x)=A(x)×B(x)  即 \( c[i]=\sum\limits_{j?k=i} (a[j]*b[k]) \) 变换成这样的:\( c^{'}[i]=a^ ...

  9. Oracle查询数据表结构(字段,类型,大小,备注)

    作用:想要生成整个Oracle数据库所有表结构WORD文档(数据库设计说明书) Oracle数据库字典介绍    Oracle数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象.数据库 ...

  10. 使用批处理自动发布IIS站点,基于IIS7及以上

    经过研究,终于使用批处理解决了站点发布步骤多的问题. 完整批处理如下: @set "sitePath=%~dp0" @echo 新建程序池 @C:\Windows\System32 ...