1. 在某一路径下执行编译好的class文件出错。

    异常如下:

    E:\liwy>java Test98

    Exception in thread "main" java.lang.NoClassDefFoundError: Test98

    如果出现了以上错误提示,常见问题有如下两种:1 大小写写错了, 2 路径不正确。

     
     
  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)

6、两个数字相除,输入两个参数,分别为字母a 和b,出现异常,数字格式化出问题

public class ExceptionDemo04{

public static void www.gzlij.com main(String args[]){

  1. System.out.println("********** 计算开始 ***********") ;

    int i = 0 ;  // 定义整型变量

    int j = 0 ;   // 定义整型变量

    try{

    String str1 = args[0] ;  // 接收第一个参数

    String str2 = args[1] ;  // 接收第二个参数

    i = Integer.parseInt(str1) ; // 将第一个参数由字符串变为整型

    j = Integer.parseInt(str2) ; // 将第二个参数由字符串变为整型

    int temp = i / j ; // 此处产生了异常

    System.out.println("两个数字相除的结果:" + temp) ;

    System.out.println("----------------------------") ;

    }catch(ArithmeticException e){ // 捕获算术异常

    System.out.println("出现异常了:" + e) ;

    }

    System.out.println("********** 计算结束 ***********") ;

    }

    };

    异常如下:

    ********** 计算开始 ***********

    Exception in thread "main" java.lang.NumberFormatException: For input string: "a"

    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

    at java.lang.Integer.parseInt(Integer.java:447)

    at java.lang.Integer.parseInt(Integer.java:497)

    at ExceptionDemo04.main(ExceptionDemo04.jav

  2. 7、两个数字相除,输入两个参数,如果两个参数什么也不输入,出现异常,数组超出绑定。

    异常如下:

    ********** 计算开始 ***********

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

    at ExceptionDemo04.main(ExceptionDemo04.java:7)

  3. 7、assert断言的使用,当断言结果不对出现异常。

    public class Test

    {

    public static void main(String args[]){

    int i[] = {1,2,3};   // 数组长度为3

    assert i.length==0;  // 此处断言数组长度为0

    }

    }

    异常如下:

    D:\d代码>java -ea Test

    Exception in thread "main" java.lang.AssertionError

    at Test.main(Test.java:5)

    l 断言需要在运行时需要加上“-ea”,如上java –ea 类名。

Java常见异常:Exception in thread "main" java.lang.NoClassDefFoundError的更多相关文章

  1. Hbase delete遇到的常见异常: Exception in thread "main" java.lang.UnsupportedOperationException

    hbase 执行批量删除时出现错误: Exception in thread "main" java.lang.UnsupportedOperationException at j ...

  2. Sqoop异常:Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject

    18/12/07 01:09:03 INFO mapreduce.ImportJobBase: Beginning import of staffException in thread "m ...

  3. JAVA错误:Exception in thread "main" java.lang.NullPointerException

    JAVA错误:Exception in thread "main" java.lang.NullPointerException例如: Exception in thread &q ...

  4. dom4j使用xpath报异常 Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext

    Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext      ...

  5. 编译运行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 ...

  6. unit测试出现异常:Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.commons.util

    在进行单元测试时,测试出现异常 Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform ...

  7. CXF安装和配置时出现Exception in thread "main" java.lang.UnsupportedClassVersionError:异常?

    异常信息: C:\Users\>wsdl2java -h Exception in thread "main" java.lang.UnsupportedClassVersi ...

  8. 【异常】idea执行Main方法出现 Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

    一.异常复现步骤 1)首先得是一个Spring MVC项目 注:Spring Boot项目有内置的web 容器,不会出现该问题 2)main方法存在于使用HttpServletRequest类的类中 ...

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

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

随机推荐

  1. python 闭包和装饰器

    python 闭包和装饰器 一.闭包闭包:外部函数FunOut()里面包含一个内部函数FunIn(),并且外部函数返回内部函数的对象FunIn,内部函数存在对外部函数的变量的引用.那么这个内部函数Fu ...

  2. python里面的xlrd模块

    ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 今天就先来说一下xlrd模块: 一.安装xlrd模块 ♦ 到python官网下载 ...

  3. The Little Prince-12/03

    The Little Prince-12/03 These days, I am always busy with my things, including experiment and others ...

  4. Oracle通过dblink连接MySQL

    需要把MySQL的一些数据同步到Oracle,用ETL工具太麻烦了,通过参考官方文档实现了oracle to mysql dblink.每次修改配置后,需要重启监听才能生效,或者 reload一下,确 ...

  5. 用到临时表空间的几种SQL

    用到临时表空间的几种SQL CREATE INDEX SELECT ... ORDER BY SELECT DISTINCT ... SELECT ... GROUP BY SELECT ... UN ...

  6. encodeURI、encodeURIComponent

    encodeURI是对整个uri进行编码的,而encodeURIComponent是对uri中部分内容进行编码. 在进行url的字符串拼接时,需要进行两次encodeURI. 只进行一次encodeU ...

  7. Java泛型中的标记符

    E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型) ? -  表示不确 ...

  8. jQuery知识总结(转)

    原文:http://fwhyy.com/2013/04/jquery-knowledge-summary/ 这篇文章在于筛选器的简单例子,让人一看就懂代码的作用 20170223 前言 jQuery一 ...

  9. 【转】RHEL(RedHat Enterprise Linux)5/6 ISO镜像下载

    本文贴出了RHEL(RedHat Enterprise Linux)发行版本中常用的服务器版本的ISO镜像文件,供大家下载学习使用,贴出的版本有RedHat Enterprise Linux(RHEL ...

  10. openwrt编译e2fsprogs-1.43时报错misc/create_inode.c:399:18: error: conflicting types for 'copy_file_range'

    1. 详细报错信息 misc/create_inode.c:399:18: error: conflicting types for 'copy_file_range' static errcode_ ...