转载自
https://blog.csdn.net/liu_jian140126/article/details/50517001


受检查的异常 ,需显式处理##

**java.lang.ClassNotFoundException(类加载异常) **

Class.forName("myclass");

java.lang.IllegalAccessException(没有访问权限)

//同样利用反射
Class<Person> clazz = Person.class;
Person p = clazz.newInstance();
//获取声明的属性
Field[] fields = clazz.getDeclaredFields();
//获取实例的属性,因为这里fiels[0]为私有的age,所以抛出异常,可加fields[0].setAccessible(true);解决
fields[0].get(p);

java.lang.FileNotFoundException(文件找不到异常)

FileInputStream f = new FileInputStream(new File("c:\\a.txt"));

java.lang.NoSuchMethodException(方法不存在异常)

Class<Person> clazz = Person.class;
//获取一个不存在的方法
clazz.getMethod("no", Integer.class);

java.lang.NoSuchFiledException(属性不存在异常)

//通过反射获取不存在的属性
Class<Person> clazz = Person.class;
clazz.getDeclaredField("no");

java.lang.InstantiationException(实例化异常)

//通过反射创建对象,但无法通过构造器来创建
//如下,Person为内部类,是无法不经过外部直接创建的
public class Test {public static void main(String[] args) throws InstantiationException, IllegalAccessException{Class<Person> p = Person.class;p.newInstance();}class Person{}
}

java.lang.InterruptedException(被终止异常)

//如线程调用sleep方法
class MyThread extends Thread{@Overridepublic void run() {try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}super.run();}}

java.lang.CloneNotSupportedException(不支持克隆异常)

//没有实现Cloneable接口
public class Test {public static void main(String[] args) throws CloneNotSupportedException{new Test().clone();}}

不受检查的异常,无需显式处理

java.lang.NullPointerException(空指针异常)

int[] arr = null;
System.out.println(arr[0]);

java.lang.IllegalArgumentException(方法参数错误)

传递了不正确的参数,这个在运用一些框架的时候碰到过,这里利用反射实现

public class Person {private int age;public void f(int age) {}
}//获取字节码对象
Class<Person> clazz = Person.class;
//获取声明的所有方法, 不包括父类的
Method[] declaredMethods = clazz.getDeclaredMethods();
//执行方法,所需的参数为int,但是实际传的是字符串,产生异常
declaredMethods[0].invoke(clazz.newInstance(), "123");

java.lang.NumberFormatException(字符串转数字异常)

String s = "abc";
Integer a = Integer.parseInt(s);

java.lang.IndexOutOfBoundsException(数组越界异常)

int[] arr = new int[10];
arr[10] = 1;

java.lang.ArithmeticException(数学运算异常)

int i = 1 / 0;

java.lang.ClassCastException(类型转换异常)

String s = (String) new Object();

java.lang.ArrayStoreException(数组存储异常)

//向数组中存放不支持的类型
Object[] obj = new String[3];
obj[0] = new Integer(0);

Java 常见异常类相关推荐

  1. JAVA常见异常类汇总

    hi,大家好,我是程序员小宝,今天给大家分享一下Java中常见的一些异常类 1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序 ...

  2. java常见异常类图(分类了Error/RuntimeExecption、check Exception)

    Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息. Exception: ...

  3. Java常见异常类型及原因分析

    Java常见异常类型及原因分析 0x1 NullPointerException异常 顾名思义,NullPointerException 是空指针异常.但是在 Java 中没有指针,怎么会有 空指针异 ...

  4. Java常见异常种类及产生原因

    Java常见异常种类及产生原因 JAVA异常共分为下列几种 Error JAVA环境编译错误 Runtime Exception 运行处异常 Exception 标准Java库方法异常 throw 用 ...

  5. JAVA常见异常信息(保存)

    一. java基础编程中常见的错误(基本类型) 包装类型参与运算时,要做null值校验,否则可能出现空指针异常. 包装类型比较大小,不能使用compare(i,j)直接比较,因为该方法是用来比较基本类 ...

  6. Java 常见异常种类

    Java 常见异常种类 参考文章: (1)Java 常见异常种类 (2)https://www.cnblogs.com/cvst/p/5822373.html 备忘一下.

  7. java基础之----java常见异常及代码示例

    java基础之----java常见异常及代码示例 参考文章: (1)java基础之----java常见异常及代码示例 (2)https://www.cnblogs.com/gunduzi/p/1203 ...

  8. Java的异常类和常用类、容器

    Java的异常类和常用类.容器 一.Java的异常类 1.异常的概念 2.异常的分类 3.try-catch语句 4.自定义异常类 二.Java的常用类 1.String类 2.StringBuffe ...

  9. java异常(机制和捕捉(常见异常类))详解 +练习题

    Java 中的异常处理机制 1.什么是异常 异常:程序在运行过程中产生的不正常情况. 程序在运行的时候,发生了一些不被预期的事件,从而没有按照我们编写的代码执行,这就是异常. 异常是Java中的错误, ...

  10. java常见异常说明汇总

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

最新文章

  1. 一分钟详解VS中快速生成dll和lib方法
  2. 如果神经网络规模足够大,会产生智能吗?
  3. 使用Logstash同步MySQL数据库信息到ElasticSearch
  4. 重整谋定电商经信研究新格局-李玉庭:人工智能精细化运营
  5. SqlConnection就一定要关闭吗?
  6. apache +php + mysql_apache+php+mysql
  7. Go程序开发---Go环境配置:CentOS6.5+Go1.8标准包安装
  8. 递归方程组解的渐进阶的求法——代入法
  9. 前端学习(2608):vuex的介绍
  10. python中的self含义及使用方法
  11. JSP+Servlet+C3P0+Mysql实现的azhuo商城
  12. ZooKeeper官方文档学习笔记01-zookeeper概述
  13. 央视牵手搜狗,AI合成主播为3·15晚会预热
  14. 人工智能被拒绝,语音识别做不到给电视直播加字幕?
  15. R语言数据可视化---交互式图表recharts包
  16. python中的fun_Python fun中*args,**kwargs参数的含义和用法(*args,**kwargs),Pythonfunargskwargs,及...
  17. 跨实例查询 mysql_SQL语句怎么搞定跨实例查询?
  18. Eclipse连接SQLServer2008
  19. 点击百度网盘安装包无反应
  20. SOT-23封装对应元器件、管脚分布及其功能示意汇总

热门文章

  1. Linux程序设计 清空标准输入缓冲区
  2. bom管理软件,支持版本控制,bom比对
  3. shiro框架的简单介绍以及使用(一)
  4. 2021年7月国产数据库大事记
  5. 方正真GBK(字体名称中有GBK且字数达到21003)字体列表
  6. ym——android源码大放送(实战开发必备)
  7. SQLite文件查看工具DB Browser for SQLite
  8. 测试用例设计方法——等价类划分法
  9. 我的世界java启动失败_我的世界游戏启动失败怎么办 PC版游戏崩溃解决办法
  10. 二进制转换八进制图解_二进制如何转换成八进制?