捕获和抛出异常

异常处理五个关键字

try , catch , finally , throw , throws

try catch finally(快捷键:选中要要监控的代码语句 快捷键: ctrl + alt + t)
 package exception;
 ​
 public class Test {
     public static void main(String[] args) {
         int a = 1;
         int b = 0;
 ​
         try{//try 监控区域
             System.out.println(a/b);
        }catch (ArithmeticException e){//catch 捕获异常
             System.out.println("程序出现异常,b不能为0");
        }finally {// 处理善后工作
             System.out.println("finally");
        }
         
         //finally 可以不要finally, 用: 假设IO,资源需要关闭
         
    }
 }
 ---------------------------------------------------------------------------------------------------
 ​
 // 选中要要监控的代码语句 快捷键: ctrl + alt + t
 package exception;
 ​
 public class Test {
     public static void main(String[] args) {
         int a = 1;
         int b = 0;
         
         // 假设要捕获多个异常: 异常类型:从小到大
         
         try{//try 监控区域
             System.out.println(a/b);
        }catch (Error e){//catch(想要捕获的异常类型!) 捕获异常
             System.out.println("Error");
        }catch (Exception e){
             System.out.println("Exception");
        }catch (Throwable t){
             System.out.println("Throwable");
        }
         finally {// 处理善后工作
             System.out.println("finally");
        }
 ​
         //finally 可以不要finally, 用: 假设IO,资源需要关闭
 ​
    }
 }
 ​
throw throws
 package exception;
 ​
 public class Test {
     public static void main(String[] args) {
 ​
         new Test().test(1,0);
    }
     
     public void test(int a , int b){
         if(b==0){// throw throws
             throw new ArithmeticException();//主动抛出异常,一般在方法中使用 throw
        }
         System.out.println(a/b);
    }
 }
 ---------------------
     package exception;
 ​
 public class Test {
     public static void main(String[] args) {
 ​
         try {
             new Test().test(1,0); // try catch
        } catch (ArithmeticException e) {
             e.printStackTrace();
        }
    }
     
     // 假设这个方法中,处理不了这个异常。方法上抛出异常
     public void test(int a , int b) throws ArithmeticException{ // throws
         if(b==0){// throw throws
             throw new ArithmeticException();//主动抛出异常,一般在方法中使用
        }
         System.out.println(a/b);
    }
 }

学习内容源自视频:b站狂神说Java

Java异常01——捕获和抛出异常的更多相关文章

  1. java 异常的捕获及处理

    在没有异常处理的程序中如果要回避异常,需要使用大量的判断语句,配合所想到的错误状况来捕捉程序中可能发生的错误.但是这样势必会导致程序运行效率降低.java异常处理机制具有易于使用,可自定义异常类,处理 ...

  2. 菜鸡的Java笔记 第三十 - java 异常的捕获及处理

    异常的捕获及处理        1.异常的产生分析以及所带来的影响        2.异常的处理的基本格式        3.异常的处理流程        4.异常的处理模式        5.自定义 ...

  3. JAVA异常的捕获与抛出原则

    在可能会出现exception的地方,要使用try-catch或者throws或者两者都要.我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-cat ...

  4. 【开发技术】java异常的捕获与抛出原则

    在可能会出现exception的地方,要使用try-catch或者throws或者两者都要.我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-cat ...

  5. Java -- 异常的捕获及处理 -- 目录

    7 异常的捕获及处理 7.1 异常的基本概念 7.1.1 为什么需要异常处理 7.1.2 在程序中使用异常处理 7.1.3 异常类的继承结构 7.1.4 Java的异常处理机制 7.2 throws与 ...

  6. java 异常与捕获

    几乎所有的代码里面都会出现异常,为了保证程序在出现异常之后可以正常执行完毕,就需要进行异常处理. 先来看一下异常的继承类结构: 所有的异常都是由Throwable继承而来,我们来看他下面的两个子类Er ...

  7. Java异常的捕获与处理

    Java提供了try(尝试).catch(捕捉).finally(最终)这三个关键字来处理异常.在处理各种异常时,需要用到对应的异常类,指的是由程序抛出的对象所属的类. 一.异常处理的使用 由于fin ...

  8. Java -- 异常的捕获及处理 -- Java的异常处理机制

    7.1.4 Java的异常处理机制 在整个Java的异常处理中,实际上也是按照面向对象的方式进行处理,处理的步骤如下: ⑴ : 一旦产生异常,则首先会产生一个异常类的实例化对象. ⑵ : 在try语句 ...

  9. Java -- 异常的捕获及处理 -- throws与throw关键字

    7.2 throws 与 throw关键字 7.2.1 throws 关键字 在定义一个方法时可以使用throws关键字声明,使用throws声明的方法标识此方法不处理异常,而交给方法的调用处进行处理 ...

随机推荐

  1. 27、异常处理(except)

    27.1.什么是异常: 1.异常介绍: 异常就是程序运行时发生错误的信号,在程序出错的时候,则会产生一个异常,若程序没有处理它,则会抛出该异常, 程序的运行也会随之终止,在python中,错误触发的异 ...

  2. SQLite Encryption(加密)新姿势

    什么是SQLite? SQLite是一个C语言实现的小型.快速.自包含.高可靠性.功能全面的SQL数据库引擎. 起因: 刚好项目上有个需求,需要使用VS2019+.Net famework 4.6.1 ...

  3. Docker Swarm介绍

    1 什么是swarmSwarm是Docker公司推出的docker集群管理平台,它将一群Docker主机变成了一台单一的虚拟Docker主机.Swarm使用标准的Docker API接口,因此,任何支 ...

  4. 资源:Maven仓库地址路径

    Maven下载路径 https://archive.apache.org/dist/maven/maven-3/ 查找需要引入的包路径时,可以在maven仓库进行查找 maven仓库地址:https: ...

  5. phpredis中文手册

    本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...

  6. Linux 命令行通配符及转义符的实现

    我们想对一类文件批量操作,例如批量查看硬盘文件属性,那么正常命令会是: [root@linuxprobe ~]# ls /dev/sda [root@linuxprobe ~]# ls /dev/sd ...

  7. TransE 算法学习笔记

    http://yaoleo.github.io/2017/10/27/TransE算法的理解/ tranE是在模型中嵌入知识图谱等三元组类的一个方法,就像是句子利用词典嵌入一样.

  8. cobbler安装4个报错汇总及解决方法:ImportError

    安装完,检查cobbler:cobbler check发现这个问题ImportError: No module named yaml 具体报错如下: [root@www localdisk]# cob ...

  9. File类与常用IO流第一章File类

    第一章:File类 一.1个重点单词: file:文件:directory:文件夹/目录:path:路径(绝对路径:absolutePath) 二.4个静态成员变量: 1.static String ...

  10. MapReduce学习总结之java版wordcount实现

    一.代码实现: package rdb.com.hadoop01.mapreduce; import java.io.IOException; import org.apache.hadoop.con ...