异常概念分类

异常( Exception 也称例外)就是在程序的运行过程中

所发生的不正常的事件,它会中断正在运行的程序

 所需文件找不到

 网络连接不通或中断

 算术运算错 (被零除…)

 数组下标越界

 装载一个不存在的类或者对 null 对象操作

 类型转换异常

 ……

当 Java 程序出现以上的异常时,就会在所处的方法 中产生一个异常对象。这个异常对象包括异常的类型, 异常出现时程序的运行状态以及对该异常的详细描述

异常的分类:



异常处理方式——捕获异常

捕获异常所使用的关键字 try 、catch 、finally

1)try-catch 组合

a)正常情况




b)异常情况,异常出现的类型与捕获的类型匹配



c)异常情况,异常出现的类型与捕获的类型不匹配



2)try-finally 组合

finally 是无论是否产生异常,都执行的代码,但是有 一种情况 finally 不执行,即退出 Java 虚拟机

package com.bjsxt.exception;

import java.util.Scanner;

public class CatchException {
public static void main(String[] args) {
int c;
try {
Scanner intput=new Scanner(System.in);
System.out.println("请输入被除数:");
int a=intput.nextInt();
System.out.println("请输入除数:");
int b=intput.nextInt();
c=a/b;
System.out.println("a/b的结果是:"+c);
// System.exit(0);
} finally {
System.out.println("finally里面的代码");
}
System.out.println("程序结束,谢谢你的使用!");
}
}

这是将system.exit(0)注释的情况下

这是将system.exit(0)取消注释的情况下



3)try-catch-finally 组合

a) 正常情况:执行 try-finally

b) 异常情况:类型相匹配,执行 try-catch-finally

c) 异常情况:类型不相匹配,执行 try-finally

如果在 catch 中存在 return 语句,则先执行完 finally 语句再回头执行 return 语句


Java修炼——异常的概念以及处理方式(捕获异常)的更多相关文章

  1. JAVA记录-异常基本概念

    1.异常分类 2.错误和异常的区别 3.try-catch-xxx处理方式 Java Exception:1.Error 2.Runtime Exception 运行时异常3.Exception 4. ...

  2. Java中断异常 InterruptedException 的正确处理方式

    你看到这篇文件可能是因为你已经调用了一个抛出 InterruptedException 异常的方法,并且需要以某种方式处理它. 首先,需要了解为一个方法为啥会 throws InterruptedEx ...

  3. Java学习:异常的概念

    异常 异常概念 异常:指的是程序在执行过程中,出现的非正常的情况,最终导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象.Java ...

  4. java程序中抛出异常的两种方式,及异常抛出的顺序

    在java中,会经常遇到异常,java提供了两种抛出异常的方式. 方式一: throws ,抛出具体代码中的异常,这种方式编译器都会提示,举例: public static void main(Str ...

  5. 异常的概念和Java异常体系结构

    一. 异常的概念和Java异常体系结构     异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架,     是Java语言健壮性的一个重要体现. Ja ...

  6. Java中异常关键字throw和throws使用方式的理解

    Java中应用程序在非正常的情况下停止运行主要包含两种方式: Error 和 Exception ,像我们熟知的 OutOfMemoryError 和 IndexOutOfBoundsExceptio ...

  7. java中异常的面试

    https://blog.csdn.net/qq_36523638/article/details/79363652 1) Java中的检查型异常和非检查型异常有什么区别? 这又是一个非常流行的Jav ...

  8. java学习--异常

    异常的概念 java异常是java提供的用于处理程序中错误的一种机制 所谓的错误是指在程序运行过程中发生的一些异常事件.如除0溢出,数组下标越界,文件不存在 设计良好的程序应该在异常发生时,提供处理这 ...

  9. Java基础—异常

    一.概念 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 异常体 Throwable:所有异常类的超类  Error:它表示不希望被程序捕获或者是程序无法处理的错误 ...

随机推荐

  1. Golang 基础学习笔记(2)| 如何安装Go工具

    可参考官网:http://docscn.studygolang.com/doc/install#安装 1.OS要求 gc 编译器支持以下操作系统及架构.在开始前,请确保你的系统满足这些需求. 若你的O ...

  2. 查看redis占用内存大小的方法

    查看redis占用内存大小的方法 <pre>redis-cli auth 密码info</pre><pre># Memory used_memory:1349009 ...

  3. 格式工厂转化成mp4 avc格式 暴风影音不能播放的解决方法

    格式工厂转化成mp4 avc格式 暴风影音不能播放的解决方法  先转成其他mp4 确保能播放 然后再转成avc

  4. C# VI: 删除字符串中指定字符的几种方法

    本文基于Stackoverflows上以下几个Question: Fastest way to remove chars from string (http://stackoverflow.com/q ...

  5. mysql提示Packet for query is too large (1142 > 1024)解决方案

    注:最近mysql一直提示如下错误 Packet for query is too large (1185 > 1024). You can change this value on the s ...

  6. requests保存图片

    1.创建07_save_jpg.py文件 import requests #发送请求respone = requests.get("https://www.baidu.com/img/bd_ ...

  7. 【ABP】 动态菜单修改过程asp.netcore+vue

    无论用什么框架,第一件事情就是实现动态菜单,从数据库中读取菜单配置项输出前台,网上翻了一大堆翻译文档,也看了官方英文文档,关键点在于如何实现NavigationProvider和在前端调用abp.na ...

  8. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(10)- KBOOT特性(可靠升级)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之可靠升级(Reliable Update)特性. 所谓可靠升级机制,即在更新Applica ...

  9. flex一些属性

    // 改变主轴的方向 flex-direction: column; // display:flex的子元素无法设置宽度 // 子元素有个flex-shrink属性,表示在父元素宽度不够的情况下是否自 ...

  10. Ubuntu 16.04安装ROS Kinetic详细教程 | Tutorial to Install and Configure ROS Kinetic on Ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/e2780b93/,欢迎阅读! Tutorial to Install and Configure ROS Kinetic on U ...