Java异常

1.NullPointException

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

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

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

   public static void main(String[] args) {

           String str = new String("hello");
//将str对象置为null
str = null;
//检索下标为1的元素
str.charAt(1);
}

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

2.ArithmeticExecption

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

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

  public static void main(String[] args) {
//整数除以0
int num = 3/0; }

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

3.ClassCastException

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

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

案例:

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

  Animal a1 = new Dog();
Animal a2 = new Cat();

Dog d1 = (Dog)a1;
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的数组

  //数组下标0,1,2,3
int[] arr = {1,2,3,4};
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转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,则会抛出该异常。

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

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

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

还有第二种情况:

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

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

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

7.SQLException

java.sql.SQLException,SQL异常。

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

8.IOException

java.io.IOException,IO异常。

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

9.NoSuchMethodException

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

最新文章

  1. AutoFac在项目中的应用
  2. 信息加密之消息摘要算法的SHA
  3. [OpenCV] Samples 08: edge
  4. C#-黑客-数据库访问-字符串的攻击和防御
  5. 使用NetBeans搭建基于Spring框架的Web应用
  6. iOS-UITextField-通知
  7. animateWithDuration 动画的速度选择
  8. iphone 如何清空UIWebView的缓存
  9. URAL1017. Staircases
  10. 在DataTable和DataView中查找指定记录
  11. POJ 3528 求三维凸包表面积
  12. electron + vue 实践项目
  13. lnmp环境里安装mssql及mssql的php扩展
  14. Pocket Gem OA: Path Finder
  15. 获取Type的三种方式
  16. vs2013+qt5.3.2+pcl1.8.0+osg2.3开发环境配置
  17. 【leetcode】69-Sqrt(x)
  18. git上传文件到github与gulp的简单使用
  19. flask框架预备知识
  20. js左侧三级菜单导航实例代码

热门文章

  1. 谷歌Chrome成最受欢迎的浏览器 它为啥好用?
  2. 微信小程序入门基础
  3. 谁再悄咪咪的吃掉异常,我上去就是一 JIO
  4. 【初学Java学习笔记】AOP与OOP
  5. elk4
  6. ES7.x客户端的认证创建一步一步来
  7. Matlab矩阵间快速赋值方法
  8. jQurey zTree Demo 3.5
  9. Exception in thread "main" NoNodeAvailableException[None of the configured nodes are available
  10. MySQL的数据类型 及注意事项