java newfile() bug_JAVA学习过程中遇到的BUG

Java异常

1.NullPointException

java.lang.NullPointException,就是我们经常遇到的空指针异常。

java是没有指针的,这里说的"java指针"指的就是java的引用,空指针就是空引用,java空指针异常就是引用本身为空,却调用了方法,这个时候就会出现空指针异常。

列如用一个值为null的对象去调用某个方法,就会抛出NullPointException异常

1 public static voidmain(String[] args) {2

3 String str = new String("hello");4 //将str对象置为null

5 str = null;6 //检索下标为1的元素

7 str.charAt(1);8 }

在第7行,用值为null的str去调用charAt(),运行的时候就抛出了空指针异常

2.ArithmeticExecption

java.lang.ArithmeticException是出现异常的运算条件时,抛出此异常。

例如,一个整数“除以零”时,就会抛出运算异常

1 public static voidmain(String[] args) {2 //整数除以0

3 int num = 3/0;4

5 }

运行时抛出 “java.lang.ArithmeticException: / by zero“

3.ClassCastException

java.lang.ClassCastException,强制类型转换异常。

通常是进行强制类型转换时候出的错误,一般发生在父类转换为子类、sql映射(resultType="X")这些操作上

案例:

Animal表示动物类,Dog表示狗类,是动物的子类,Cat表示猫类,是动物的子类。看下面的代码:

1 Animal a1 = newDog();2 Animal a2 = newCat();3 ​4 Dog d1 =(Dog)a1;5 Dog d2 = (Dog)a2;

第4行代码和第5行代码基本相同,从字面意思看都是把动物(Animal)强制转换为狗(Dog),但是第5行代码就会在运行的时候抛出java.lang.ClassCastException异常。

4.ArrayIndexOutOfBoundsException

java.lang.ArrayIndexOutOfBoundsException,数组下标越界异常。 这其实就是 数组越界了的问题

数组就比喻作一个大桌子,桌子上会有很多个抽屉用来装东西,制造n个抽屉就只能用n个抽屉

java中的数组空间分配是从0到它的length-1,

如下,第2行定义了一个长度为4的数组

1 //数组下标0,1,2,3

2 int[] arr = {1,2,3,4};3 System.out.println(arr[5]);

在第3行使用的根本就不存在的下标5,使用了不存在的“5号抽屉”,所以下标越界,运行时抛出java.lang.ArrayIndexOutOfBoundsException

5.FileNotFoundException

java.io.FileNotFoundException,一般为“拒绝访问”和“系统找不到指定路径”两种情况。

情况1:对文件进行输入输出流操作,也就是InputStream和OutputStream操作时,如果填写的路径不存在,那么会报系统找不到指定路径异常提示。

情况2:对文件进行输入输出流操作,如果路径指定的是目录(没有指定某个文件)时,就会报拒绝访问异常。(如果对本地磁盘没有访问权限的话也会报这个异常)

6.NumberFormatException

java.lang.NumberFormatException,数字格式化异常(数字转换异常)。

当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,则会抛出该异常。

1 String str = "ABC";2 int value = Integer.parseInt(str);

在第2行调用方法将字符串转换为int类型,由于ABC不可能转换为数字,所以运行时抛出java.lang.NumberFormatException异常。

parseInt()是将字符串转换为int类型的方法

还有第二种情况:

int类型存储范围是-2的31次方到2的31次方-1。

如果你的 String str= "值 "; 超过了int类型最大的值,也会抛出此异常

1 String str = "999999999999999999999999999";2 int value = Integer.parseInt(str);

7.SQLException

java.sql.SQLException,SQL异常。

当使用 JDBC与数据源进行交互的时候发生错误,则会抛出名为 SQLException的异常。

8.IOException

java.io.IOException,IO异常。

在读写数据的时候经常会遇到这个异常,一般都是路径拼写错误导致的

9.NoSuchMethodException

java.lang.NoSuchMethodException,找不到方法异常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值