ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

55_异常处理

2021-11-08 15:02:52  阅读:141  来源: 互联网

标签:case 55 代码 try 处理 finally catch 异常


异常处理
* 语法
* try {
* 可疑代码
* } catch {
* 捕获异常
* case 异常1 => {}
* case 异常2 => {}
* } finally {
* 最终执行
* }
* 说明
* 1. try 代码块
* 将可疑代码封装在try代码块中,如果发生异常,catch 代码块会处理这个异常
* 2. catch 代码块
* 1. catch 代码处理发生的异常,如果不将异常抛出,可以确保程序的继续执行
* 2. scala处理的都是运行时异常,没有编译异常(checked)
* 3. 当异常发生时,按case的顺序捕获异常,范围小的在前面,范围大的在后面
* 3. finally 代码块
* 1. 不管是否发生异常,都会执行 finally代码块,一般用于资源关闭
* 4. throw 抛出一个异常
* 1. 作用 抛出异常对象,停止程序 相当于 exit(1)
* 2. 所有异常类都是Throwable的子类
* 3. throw new 异常类 的返回类型为Nothing
*
*
* */
/*
* 异常处理
*    语法
*       try {
*          可疑代码
*       } catch {
*          捕获异常
*          case 异常1 => {}
*          case 异常2 => {}
*       } finally {
*          最终执行
*       }
*    说明
*       1. try 代码块
*          将可疑代码封装在try代码块中,如果发生异常,catch 代码块会处理这个异常
*       2. catch 代码块
*          1. catch 代码处理发生的异常,如果不将异常抛出,可以确保程序的继续执行
*          2. scala处理的都是运行时异常,没有编译异常(checked)
*          3. 当异常发生时,按case的顺序捕获异常,范围小的在前面,范围大的在后面
*       3. finally 代码块
*          1. 不管是否发生异常,都会执行 finally代码块,一般用于资源关闭
*       4. throw 抛出一个异常
*          1. 作用 抛出异常对象,停止程序 相当于 exit(1)
*          2. 所有异常类都是Throwable的子类
*          3. throw new 异常类 的返回类型为Nothing
*
*
* */

// 1. 捕获异常 - 继续执行
object ExcepTest extends App {
  try {
    val x = 10 / 0
  } catch {
    //捕获异常
    case e1: ArithmeticException => {
      println("log >>>>>>> 发生了ArithmeticException异常")
    }
    case e2: Exception => {
      println("log >>>>>>> 发生了Exception异常")
    }

  } finally {
    println("关闭异常")
  }
  println("继续执行")


}

// 2. 方法中 - 抛出异常
object ThrowTest extends App {
  println(div(1, 0))


  // 1. 定义方法,抛出异常
  def div(x: Int, y: Int) = {
    try {
      x / y
    } catch {
      case e: ArithmeticException => {
        println("发生了异常")
        throw new ArithmeticException("分母为0")
      }
    }
  }


}
java中的异常捕获
* 说明
* 1. Java语言按照try-catch-finally的方式来处理异常
* 2. 不管有没有捕获异常,都会执行finally,因此finally中常用来关闭资源
* 3. 可以有多个catch,分布捕获对应的异常,把范围小的异常写在类的前面,范围大的异常写在后面(否则有编译报错)
package main.java;

/*
 *  java中的异常捕获
 *     说明
 *        1. Java语言按照try-catch-finally的方式来处理异常
 *        2. 不管有没有捕获异常,都会执行finally,因此finally中常用来关闭资源
 *        3. 可以有多个catch,分布捕获对应的异常,把范围小的异常写在类的前面,范围大的异常写在后面(否则有编译报错)
 * */
public class Excep {
    public static void main(String[] args) {
        //java 异常处理
        try {
            int a = 10;
            int b = 0;
            int c = a / b;
        } catch (RuntimeException e) {
            // catch 时,需要将范围小的写在前面
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            System.out.println("关闭资源");
        }
    }
}

 

标签:case,55,代码,try,处理,finally,catch,异常
来源: https://www.cnblogs.com/bajiaotai/p/15524258.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有