A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 0416朱珅平 中级黑马   /  2015-5-15 22:13  /  644 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、 在某一路径下执行编译好的class文件出错。
异常如下:
E:\liwy>java Test98
Exception in thread "main" java.lang.NoClassDefFoundError: Test98
如果出现了以上错误提示,常见问题有如下两种:1 大小写写错了, 2 路径不正确。
Java常见异常和错误
2、数组错误,访问不存在的数组,数组超出绑定,代码如下:
public class ArrayDemo
{
public static void main(String args[]){
int array[] = null; //声明数组
array = new int[3]; //为数组开辟空间,大小为3
for(int i=0;i<array.length;i++){
System.out.println("array["+i+"]="+i);
}
//访问数组没有开辟的下标,这时会报异常
System.out.println("array[3]="+array[3]);
}
}
异常如下:
array[0]=0
array[1]=1
array[2]=2
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
        at ArrayDemo.main(ArrayDemo.java:11)
以上就是数组的索引超出绑定,就是表示数组越界。
3、某个类没有实例化,访问类属性时,出现空指针异常
class Person{
String name ;  // 声明姓名属性
int age ;   // 声明年龄属性
public void tell(){ // 取得信息
System.out.println("姓名:" + name + ",年龄:" + age) ;
}
};
public class ClassDemo03{
public static void main(String args[]){
Person per = null ;  // 声明对象
//per = new Person() ; // 实例化对象
per.name = "张三" ;  // 为姓名赋值
per.age = 30 ;   // 为年龄赋值
per.tell() ;   // 调用方法,打印信息
}
};
异常如下:
Exception in thread "main" java.lang.NullPointerException
        at ClassDemo03.main(ClassDemo03.java:12)

4、错误的多态,出现异常
class A{     // 定义类A
public void fun1(){  // 定义fun1()方法
System.out.println("A --> public void fun1(){}") ;
}
public void fun2(){
this.fun1() ;  // 调用fun1()方法
}
};
class B extends A{
public void fun1(){  // 此方法被子类覆写了
System.out.println("B --> public void fun1(){}") ;
}
public void fun3(){
System.out.println("B --> public void fun3(){}") ;
}
};
public class PolDemo03{
public static void main(String asrgs[]){
A a = new A() ;   // 实例化了一个父类对象
B b = (B)a ;  // 发生了向下转型关系
b.fun1() ;
b.fun2() ;
b.fun3() ;
}
};
异常如下:
Exception in thread "main" java.lang.ClassCastException: A
        at PolDemo03.main(PolDemo03.java:20)
5、两个数字相除,被除数为0,出现异常
public class ExceptionDemo01{
public static void main(String args[]){
System.out.println("********** 计算开始 ***********") ;
int i = 10 ;  // 定义整型变量
int j = 0 ;   // 定义整型变量
int temp = i / j ; // 此处产生了异常
System.out.println("两个数字相除的结果:" + temp) ;
System.out.println("********** 计算结束 ***********") ;
}
};
异常如下:
********** 计算开始 ***********
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at ExceptionDemo01.main(ExceptionDemo01.java:6)

评分

参与人数 1黑马币 +5 收起 理由
木风雪林 + 5 赞一个!

查看全部评分

2 个回复

倒序浏览
顶一个!
回复 使用道具 举报
超哥说讲完io就要检查这个作业吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马