zoukankan      html  css  js  c++  java
  • 26.异常

    1.异常概述

     2.JVM处理异常的默认方案

     3.异常处理

     3.1  try ...catch...

     4.Throwable的成员方法

     

        public static void main(String[] args) {
            int[] arr = {1, 2, 3};
            System.out.println("开始");
            try {
                run(arr);
            } catch (ArrayIndexOutOfBoundsException throwable) {
                throwable.printStackTrace();
                /**
                 * java.lang.ArrayIndexOutOfBoundsException: 3
                 *     at throwable.TryCatch.run(TryCatch.java:18)
                 *     at throwable.TryCatch.main(TryCatch.java:11)
                 */
            }
            System.out.println("结束");
        }
    
        public static void run(int[] arr) {
            System.out.println(arr[3]);
        }

    5.编译时异常和运行时异常

     5.Throws处理异常

     6.自定义异常

      举例

    public class ScoreException extends Exception {
        public ScoreException() {
        }
    
        public ScoreException(String message) {
            super(message);
        }
    }
    public class CheckScore {
    
        public void checkScore(int score) throws ScoreException {//由于ScoreException继承自Exception,所以是编译时异常,异常需要进行处理(这里进行抛出处理,由调用者处理
    
            if (score < 0 || score > 100) {//分数不在正常范围之内,抛出异常
                throw new ScoreException("分数异常,分数应该在0-100之间");
            } else {
                System.out.println("分数正常");
            }
    
        }
    
    }
        public static void main(String[] args) {
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入分数:");
            int i = scanner.nextInt();
            CheckScore checkScore=new CheckScore();
            try {
                checkScore.checkScore(i);
            } catch (ScoreException e) {
                e.printStackTrace();
            }
        }

     Throws和Throw区别

     补充理解throws和try...catch

    throws仅仅是把异常向上抛出,交由调用它的地方去处理,其实并没有实质性的进行处理;

    try...catch会处理异常,不影响程序继续向下执行

  • 相关阅读:
    HDU-5534-Partial Tree
    Dire Wolf HDU
    HDU 5119 Happy Matt Friends (14北京区域赛 类背包dp)
    4 Values whose Sum is 0 POJ
    Fliptile POJ
    Face The Right Way POJ
    【Selenium学习】解决chromedriver.exe' executable needs to be in PATH
    【Jenkins学习】修改jenkins显示为中文语言
    【Jenkins学习】Jenkins 批量删除历史构建
    【Tomcat学习】tomcat 日志详解
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/13053852.html
Copyright © 2011-2022 走看看