zoukankan      html  css  js  c++  java
  • 异常

    1.什么是异常?

    答:就是在程序运行的过程中所发生的不正常行为,中断正在运行的程序。

    2.异常处理关键字:try、catch、finally、throw和throws

    (1)try-catch块

     1 public static void main(String[] args) {
     2         try {
     3             //研发:临界值的问题  
     4             Scanner in = new Scanner(System.in);
     5             System.out.print("请输入被除数:");
     6             int num1 = in.nextInt();
     7             System.out.print("请输入除数:");
     8             int num2 = in.nextInt();
     9             System.out.println(String.format("%d / %d = %d", 
    10                             num1, num2, num1/ num2));
    11             
    12         } catch (NullPointerException ex) {
    13            System.out.println("除数不能为0");    
    14         }catch (ArithmeticException ex) {
    15                ex.printStackTrace();
    16                System.out.println(ex.getMessage());
    17                System.out.println("除数不能为0===ArithmeticException");    
    18         }catch (Exception ex) {
    19                System.out.println("除数不能为0===Exception");    
    20         
    21         }

    如果try语句在 执行时发生异常,并且这个异常与catch中声明的异常类型相匹配,那么try中的剩余代码将被忽略,而相应的catch将被执行。

    如果输入的除数为0,则运行的结果:

    如果try语句在执行的过程中遇到异常,而抛出的异常在catch块里没有被声明,程序直接退出。

     

    (2)try-catch-finally

    在try-catch块后加入finally块,无论是否发生异常,finally块中的代码都能被执行。

     1 public static void main(String[] args) {
     2         try {
     3             //研发:临界值的问题  
     4             Scanner in = new Scanner(System.in);
     5             System.out.print("请输入被除数:");
     6             int num1 = in.nextInt();
     7             System.out.print("请输入除数:");
     8             int num2 = in.nextInt();
     9             System.out.println(String.format("%d / %d = %d", 
    10                             num1, num2, num1/ num2));
    11             
    12         } catch (NullPointerException ex) {
    13            System.out.println("除数不能为0");    
    14         }catch (ArithmeticException ex) {
    15                ex.printStackTrace();
    16                System.out.println(ex.getMessage());
    17                System.out.println("除数不能为0===ArithmeticException");    
    18         }catch (Exception ex) {
    19                System.out.println("除数不能为0===Exception");    
    20         }
    21         finally{
    22             //释放稀缺资源。
    23             System.out.println("感谢使用本程序!");
    24         }
    25         

    3.运行时的异常图:

  • 相关阅读:
    ORACLE删除当前用户下所有的表的方法
    解决Tomcat对POST请求文件上传大小的限制
    Windows下如何查看某个端口被谁占用
    javamail彻底解决中文乱码的方法
    Tomcat通过setenv.bat指定jdk和jre(相对路径)
    Linux nohup命令详解
    shell 重启java 程序
    jstack命令执行报错:Unable to open socket file: target process not responding or HotSpot VM not loaded
    ToStringBuilder.reflectionToString用法
    vue自定义指令+只能输入数字和英文+修改v-model绑定的值
  • 原文地址:https://www.cnblogs.com/aaaaliling/p/9014343.html
Copyright © 2011-2022 走看看