异常分类和异常的产生过程解析和Objects非空判断
java.lang.Throwable类是java语言中所有错误的异常的超类。
Exception:编译期异常,进行编译(写代码)java程序出现的问题
RuntimeExeption:运行期异常,java程序运行过程中出现的问题
异常就相当于程序得了一个小毛病(感冒发烧)把异常处理掉程序就可以继续运行
Error错误:错误就相当于程序得了一个无法治愈的毛病(非典,艾滋),必须修改源代码,程序才能继续执行
public class Test{
public static void main(String[] args) /*throws ParseException*/ {
// Exception:编译期异常,进行编译(写代码)java程序出现的问题
/* SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = simpleDateFormat.parse("1999-0909");
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("后续代码");
System.out.println(date);*/
/*// RuntimeExeption:运行期异常,java程序运行过程中出现的问题
int[] arr = {1,2,3};
// System.out.println(arr[0]);
try {
System.out.println(arr[3]);
} catch (Exception e) {
System.out.println(e);
}*/
// Error错误:错误就相当于程序得了一个无法治愈的毛病(非典,艾滋),必须修改源代码,程序才能继续执行
//OutOfMemoryError: Java heap space
int[] ints = new int[1024*1024*1024];
}
}

Objects非空判断
还记得我们学习过一个类Objects类吗,曾静提到过他由一些静态的实用方法组成,这些方法都是空指针安全的
或者容忍空指针的那么在他的源码中,对对象为null的值进行了抛出异常的操作
public static T requireNonNull(T obj);查看指定引用对象不是null
查看源码发现这里是对为null的进行了抛出异常的操作
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
异常分类和异常的产生过程解析和Objects非空判断的更多相关文章
- PLSQL_Oracle Exception异常分类、异常抛出、异常处理、异常传播(概念)
2014-06-03 Created By BaoXinjian
- Mybatis基本类型参数非空判断(异常:There is no getter for property...)
先看一小段代码 <select id="queryByPhone" parameterType="java.lang.String" resultType ...
- java之异常处理、异常分类、Throwable、自定义异常
参考http://how2j.cn/k/exception/exception-trycatch/336.html 异常处理 try catch 1.将可能抛出FileNotFoundExceptio ...
- Exception的异常分类与处理
一. 异常: 1:错误的分类 1)Error:错误(不可控),一般指的是系统方面的异常,比如 蓝屏,内存溢出,jvm运行环境出现了问题. 2) Exception ...
- 异常概念&异常体系和异常分类
异常概念 异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象.Java处 ...
- Oracle知识分类之异常
Oracle异常分类 ...
- Java异常分类 转载
Java异常分类 http://blog.csdn.net/woshixuye/article/details/8230407 一.基本概念 看java的异常结构图 Throwable是所有异 ...
- 异常分类VS垃圾分类
异常分类VS垃圾分类 容易快速判断出是什么业务异常,容易对不同的异常进行不同的处理,容易很快找到对应的解决方法
- springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。为了区别不同的异常通常根据异常类型自定义异常类,这里我们创建一个自定义系统异常,如果controller、service、dao抛出此类异常说明是系统预期处理的异常信息。
springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑. 1.1 异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeEx ...
随机推荐
- 使用pdfcrack & crunch暴力破解PDF密码
crunch是密码字典生成器,可以根据指定的字符来生成组合密码字典. pdfcrack是Linux下一个PDF暴力破解密工具,可以使用crunch生成的密码字典来暴力破解PDF文件的密码. 注:没有强 ...
- Android 子线程 UI 操作真的不可以?
作者:vivo 互联网大前端团队- Zhang Xichen 一.背景及问题 某 SDK 有 PopupWindow 弹窗及动效,由于业务场景要求,对于 App 而言,SDK 的弹窗弹出时机具有随机性 ...
- 碎碎念软件研发02:敏捷之Scrum
一.什么是 Scrum 1.1 Scrum 定义 Scrum 是敏捷开发方法之一,它使用比较广泛. 敏捷的其它开发方法还有 XP(极限编程).FDD(特性驱动开发).Crystal(水晶方法).TDD ...
- 高通(QCOM)sensor bring up
高通7150平台 1.添加驱动文件 2.添加编译 3.配置json文件 4.高通默认配置 5.部分sensor外挂电源 6.遇到的问题 1.添加驱动文件 路径:adsp_proc/ssc/sensor ...
- Python的关键字参数与斜杠“/”
Python3.8 新增了一种语法,可以使用斜杠 / 占据一个参数的位置,表示在此之前的参数都只接受位置参数的传参形式. 例如,对以下函数声明: def func(a, b, /, c, d, *, ...
- BUUCTF-qr
qr 签到题
- javaEE-IDEA创建项目-使用Mybatis
新建项目 点Next之后给项目命名 创建如下文件夹以及文件 修改pom.xml, 加入 <dependencies> <!-- junit单元测试 --> <depend ...
- 一分钟入门 Babel(下一代 JavaScript 语法的编译器)
简单来说把 JavaScript 中 es2015/2016/2017/2046 的新语法转化为 es5,让低端运行环境(如浏览器和 node )能够认识并执行.严格来说,babel 也可以转化为更低 ...
- javascript写无缝平移的轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 简单ELK配置实现生产级别的日志采集和查询实践
概述 生产问题 集群规模如何规划? 集群中节点角色如何规划? 集群之脑裂问题如何避免? 索引分片如何规划? 分片副本如何规划? 集群规划 准备条件 先估算当前系统的数据量和数据增长趋势情况. 现有服务 ...