什么是异常
比如上午我们一般是开车去上班,正常情况下,一般都不会迟到,但是今天突然有个问题,车坏了或者限行了,于是乎你改坐公交了,就有可能会迟到,这就属于一种异常的情况。在实际生活中呢,可能会遇到很多很多的不测,天有不测风云,那就是这样的。
实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,你要输入一个字符串,他输入了一个汉字,用户输入不一定符合你的要求、你的程序文件要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序在跑着,内存或者硬盘可能满了。等等
软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫做异常,英文是:Exception,意思是例外。
这些,例外情况,或者叫异常,怎么让我们写的程序做出一些合理的处理,不至于程序崩溃。
java.lang.StackOverflowError:
 package com.exception;

 public class Demo01 {
public static void main(String[] args) { } //递归没有出口死循环 栈溢出错误java.lang.StackOverflowError,一般不要这么写
public void a() {
b();
} public void b() {
a();
}
}
java.lang.ArithmeticException:/ by zero
 package com.exception;

 public class Demo01 {
public static void main(String[] args) { //java.lang.ArithmeticException:/ by zero
System.out.println(11 / 0);
} }
Error: ;少分号
 package com.exception;

 public class Demo01 {
public static void main(String[] args) {
//Error: ;
System.out.println()
} }
异常指程序运行中出现的不期而至的各种情况,如:文件找不到、网络连接失败、非法参数等
异常发生在程序运行期间,它影响了正常的程序执行流程。
 
简单分类
  1. 要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:
  2. 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的,例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
  3. 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译是被忽略。
  4. 错误Error:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
异常体系结构
  Java把异常处理当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类
  在JavaAPI中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception,Error无法预见,Exception通常是可以预料到的事情。
aaarticlea/png;base64,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" alt="">
Error
 
Error是由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关
 
Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所
需的内存资源时,将出现OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止;
 
还有发生在虚拟机试图执行应用时,如类定义错误(NoClassDefFoundError)链接错误(LinkageError)。这些错误是不可查的,因为它们在应用程序的控制能力之 外,而且绝大多数是程序运行时不允许出现的状况。
 
Exception
 
在Exception分支中有一个重要的子类RuntimeException(运行时异常)
  • ArraryIndexOutOfBoundsException(数组下标越界异常)
  • NullPointerException(空指针异常)
  • ArithmeticException(算数异常)
  • MissingResourceException(丢失资源)
  • ClassNotFoundEcxeption(找不到类)等异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以选择不处理。
 
这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这两在异常的发生;
 
Error和Exception的区别:
Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。
 

1.异常(Error和Exception)的更多相关文章

  1. Java异常Error和Exception

    简述 程序运行时,发生了不被期望的结果,阻止了程序按照预期正常执行,这就是异常.世界上没有不出错的程序,只有正确处理好意外情况,才能保证程序的可靠性. Java 语言在设计之初就提供了相对完善的异常处 ...

  2. 异常 - Error / Checked Exception / Runtime Exception

    https://www.cnblogs.com/loveis715/p/4596551.html

  3. java基础面试题:运行时异常与一般异常有何异同?error和exception有什么区别? 请写出你最常见到的5个runtimeexception?

    Throwable是Java错误处理的父类,有两个子类:Error和Exception. Error:无法预期的严重错误,导致JVM虚拟机无法继续执行,几乎无法恢复捕捉的 Exception:可恢复捕 ...

  4. 详解Java异常Throwable、Error、Exception、RuntimeException的区别

    在Java中,根据错误性质将运行错误分为两类:错误和异常. 在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象.生成的异常对象将传递Java运行时系统,这一异常的产生和提交过程称为抛 ...

  5. 运行时异常与受检异常有何异同、error和exception有什么区别

    1.运行时异常与受检异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生.受检异常跟程序 ...

  6. PHP 中 Error 和 Exception 两种异常的特性及日志记录或显示

    PHP 文档: Error Exception 参考: 深入理解PHP原理之异常机制 我们什么时候应该使用异常 异常和错误 所有示例基于 PHP7. 应用中,关于错误的最佳实践是: 必须报告错误 开发 ...

  7. Error与Exception的区别,Java常见异常Execption总结

    错误和异常的区别(Error vs Exception) 错误和异常的区别(Error vs Exception) 今天面试问了这样一个问题,"Error" 和 "Exc ...

  8. Java中Error和Exception的异同以及运行时异常(Runtime exception)与检查型异常(checked exception)的区别

    一:Error和Exception的基本概念: 首先Exception和Error都是继承于Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕 ...

  9. error和exception的区别,RuntimeException和非RuntimeException的区别

    error和exception的区别,RuntimeException和非RuntimeException的区别   1. 异常机制       异常机制是指当程序出现错误后,程序如何处理.具体来说, ...

随机推荐

  1. openmp的g++并行执行

    #include <omp.h>#include <stdio.h>#include <stdlib.h>void Test(int n) {    for(int ...

  2. css3颜色+透明度渐变

    .linear { width: 630px; height: 120px; line-height: 150px; text-align: center; font-size: 26px; posi ...

  3. vue-learning:37 - router - 目录

    vue路由vue-router 目录 前端路由历史 服务端渲染(SSR:server side render) 客户端路由(client side routing) 前端路由实现原理 hash模式: ...

  4. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总,使用mono运行filddler

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  5. STVD、IAR两种编译器比较

    1.全局查找功能: STVD:全局查找功能全局查找功能比较麻烦,有3个动作. IAR:有全局查找功能比较方便,只要一个动作,和KEIL一样. 2.编译时间 STVD:相对比较慢. IAR:相对快点. ...

  6. AbstactFactory模式

    AbstractFactory模式就是用来解决这类问题的:要创建一组相关或者相互依赖的对象. AbstractFactory模式关键就是将这一组对象的创建封装到一个用于创建对象的类(ConcreteF ...

  7. Vue通讯

    vue组件通讯 #props传递数据 父->子 //父组件传递数据 <template> <Children :data="msg"></Chi ...

  8. vue(axios)封装,content-type由application/json转换为application/x-www-form-urlencoded

    现在主流的http请求头的content-type有三种(不讨论xml): application/x-www-form-urlencoded  最常见的提交数据方式,与原生form表单数据一致,在c ...

  9. DEVOPS技术实践_07:Jenkins 管道工作

    一 简介 由于在公司构建很多工作,都是使用的maven工作构建的,这种构建方式很大缺点就是所有的工作都需要一步一步的配置,当项目较多,需求变动时,需要很大的精力去修改配置,很费劲 Pipeline即为 ...

  10. js菜单栏切换

    先来看看需要实现的需求: 这是某购物网站上经常看到的效果 我们把网页的模型抽象出来,下面是我实现的效果图: 源代码仅供大家参考,具体如下: <!DOCTYPE html> <html ...