java错误与异常
java异常处理机制
异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,
让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。
Java中的异常可以是函数中的语句执行时引发的,也可以是程序员通过throw 语句手动抛出的,
只要在Java程序中产生了异常,就会用一个对应类型的异常对象来封装异常,JRE就会试图寻找异常处理程序来处理异常。
Throwable类是Java异常类型的顶层父类,一个对象只有是 Throwable 类的(直接或者间接)实例,他才是一个异常对象,
才能被异常处理机制识别。JDK中内建了一些常用的异常类,我们也可以自定义异常。
Java异常的分类和类结构图
Java标准库内建了一些通用的异常,这些类以Throwable为顶层父类。
Throwable又派生出Error类和Exception类。
错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。
异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。

可分为检查时异常与非检查时异常
例如:RuntimeException异常属于非检查时异常
就是程序员不强制使用try catch finally 或者throws
IOException属于检查时异常 强制使用try catch finally或者 throws 才可以在编译通过
优缺点非检查时异常:简单方便代码少,
缺点:出错用户体验感不好。
java错误与异常的更多相关文章
- Java错误和异常解析
Java错误和异常解析 错误和异常 在Java中, 根据错误性质将运行错误分为两类: 错误和异常. 在Java程序的执行过程中, 如果出现了异常事件, 就会生成一个异常对象. 生成的异常对象将传递Ja ...
- Java错误和异常
Java 异常结构图 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性. Th ...
- java的常见异常与错误总结
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...
- Java运行时异常与一般异常以及错误的异同
Java提供了两类主要的异常:runtime exception和checked exception.checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常.对于这种异常,JAV ...
- 深入探讨Java中的异常与错误处理
Java中的异常处理机制已经比较成熟,我们的Java程序到处充满了异常的可能,如果对这些异常不做预先的处理,那么将来程序崩溃就无从调试,很难找到异常所在的位置.本文将探讨一下Java中异常与错误的处理 ...
- Core Java 总结(异常类问题)
所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 下面的代码输出结果是多少?为什么?并由 ...
- 【Java心得总结二】浅谈Java中的异常
作为一个面向对象编程的程序员对于 下面的一句一定非常熟悉: try { // 代码块 } catch(Exception e) { // 异常处理 } finally { // 清理工作 } 就是面向 ...
- 关于java中的异常问题 1
1.首先参考一下关于java异常处理方面的知识 查看博客http://lavasoft.blog.51cto.com/62575/18920/ 这里介绍的很好,下面从中学习到一些东西,摘抄如下: 1. ...
- Java中的异常-Throwable-Error-Exception-RuntimeExcetpion-throw-throws-try catch
今天在做一个将String转换为Integer的功能时,发现Integer.parseInte()会抛出异常NumberFormatException. 函数Integer.parseInt(Stri ...
随机推荐
- Hadoop_20_MapReduce程序的运行模式
1.MapReduce程序的运行模式 1. Windows中运行MapReduce程序 (1)mapreduce程序是被提交给LocalJobRunner在本地以单进程的形式运行 (2)而处理的数据及 ...
- php-fpm优化内存占用大
1.1 Linux的php-fpm优化心得-php-fpm进程占用内存大和不释放内存问题 LNMP架构中PHP是运行在FastCGI模式下,按照官方的说法,php-cgi会在每个请求结束的时候会回收脚 ...
- Beego框架POST请求接收JSON数据
原文: https://blog.csdn.net/Aaron_80726/article/details/83870563 ------------------------------------- ...
- BZOJ 3210: 花神的浇花集会 (切比雪夫距离)
GXZlegend 切比雪夫和曼哈顿距离的互相转化看这里 传送门 CODE #include <bits/stdc++.h> using namespace std; #define LL ...
- [ES2015] Number.isNaN instead of isNaN
const result = Number('55px'); // isNaN "NaN" console.log(isNaN(result)); // true console. ...
- javascript内置对象:Date
JavaScript内置函数:Date时间<script> var today=new Date(); weeks=["日","一",& ...
- [引用]MATLAB中的fft后为何要用fftshift
原文地址:MATLAB中的fft后为何要用fftshift fft是一维傅里叶变换,即将时域信号转换为频域. fftshift是针对频域的,将FFT的DC分量移到频谱中心,重新排列fft,fft1和… ...
- CSS实现太极效果
这个伪元素的位置对齐还妹搞明白 需要再研究研究 <html> <head> <title>taiji</title> <style> b ...
- luogu 1169 [ZJOI2007]棋盘制作 悬线dp
悬线法,虽然得不到局部最优解,但是一定能得到全局最优解的算法,十分神奇~ #include <cstdio> #include <algorithm> #define N 20 ...
- 透彻网络流-wfx-最大流
前提: 我们想象一下自来水厂到你家的水管网是一个复杂的有向图,每一节水管都有一个最大承载流量.自来水厂不放水,你家就断水了.但是就算自来水厂拼命的往管网里面注水,你家收到的水流量也是上限(毕竟每根水管 ...