java常见的5个异常_java常见的5种异常举例

在Java学习过程中,我们会碰到各种各样的异常,现将面试过程中遇到的常见异常做一罗列并举例:

1.NullPointerException: 空指针异常。菜鸟编程经验发现这个异常是经常会发生的,属于运行时异常。

举例:

public static void main(String[] args) {

String str = null;

//此处报空指针异常

System.out.println(str.length());

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.NullPointerException

at cn.com.gjw.MyClass.main(MyClass.java:7)

2.ClassCastException: 类型强制转换异常。Java的一些语法知识不太熟悉的时候会发生的异常。

举例:

public static void main(String[] args) {

// 类型强制转换异常

Object x = new String("String");

System.out.println((Integer) x);

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

at cn.com.gjw.MyClass.main(MyClass.java:7)

3.ArrayIndexOutOfBoundsException: 数组下标越界异常。特别常见的一个异常,粗心的程序员都会犯的错误。

举例:

public static void main(String[] args) {

int arr[] = {1,2};

// 此处报数组下标越界异常

System.out.println(arr[2]);

}

控制台输出的异常信息为:

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

at cn.com.gjw.MyClass.main(MyClass.java:7)

4.ArithmeticException:算术运算异常。算术跟我水平差不多的你有没有犯过类似的错误呢??

举例:

public static void main(String[] args) {

// 整数0做了分母,报算术运算异常

System.out.println(1 / 0);

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.ArithmeticException: / by zero

at cn.com.gjw.MyClass.main(MyClass.java:6)

5.NumberFormatException: 数字格式异常。什么是数字格式异常呢?一个例子说明一切。

举例:

public static void main(String[] args) {

// 将字符串“it”转换为Integer类型的,当然会报数字格式异常啦

System.out.println(Integer.parseInt("it"));

}

控制台输出的异常信息为:

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

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

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

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

at cn.com.gjw.MyClass.main(MyClass.java:6)

以上是Java中常见的五种异常及相应的例子,Java中还有很多类似的异常等着我们去发现,这只是冰山一角中的一点。。。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值