day 17 异常机制

1异常机制

1.1 常见异常

        1 空指针异常

        2 下标越界异常

        3 类型转换异常

        4栈内存溢出

1.2 概述

        异常发生原因

        用户输入非法数据

        文件底子不存在

        网络通信中断

        jvm内存溢出

        大部分异常是用户引起的 有一部分是程序错误引起的 小部分是物理因素

1.3 异常分类

        Throwable是所有异常跟错误的父类

        分为 Error  Excepotion 两个类

        Exception 分为运行异常 跟io异常(又称为编译时异常)

        运行异常是比较多的

        

1.4处理措施

        try catch 处理异常 一般用于客户端

        throws 抛出异常一般用于服务器

        throw 异常源点

        finally 必须执行的语句

1.5 Error

        系统内部错误 这类错误由系统处理 我们不需要管

1.6 Exception

 1.6.1 概述

        Exception是所有异常的父类        

        分类如上

1.6.2 两个方法

这个方法一般用来让程序员排错

        

这个方法一般用来反馈给客户端

1.6.3  try catch

        try{
         高风险代码
 *         1
 *         2 如果这里出错的话 try结束 直接指向catch
 *         3
 * }
 * catch(异常类型 变量){
 *         出现异常时处理措施
 * }

可以通过多个catch 做不同的异常处理
 * 但是从上往下必须是从子类到父类 或者没有继承关系
 * 因为如果上面是父类的话 会执行父类 不会执行子类

        

同时捕捉多个异常 并且多个异常类型直接使用 |  隔开 并且这些异常不可以有继承关系、

如果存在继承关系直接写父类异常

1.6.4 Throws

        抛出异常 是一种提醒机制 并不会解决问题 该报错还是会报错 该终止生命周期还是会终止
 * 当我们调用的方法抛出了异常 那么要么我们也抛出 要么我们try掉
 * 如果知道这个问题怎么解决 就是try掉 如果不知道 就throws抛出去
 * 服务端 使用throws 在客户端 使用trycatch
 * 服务端 被调用 客户端 调用处

        

1.6.5 Finally

        finally 必须执行的语句块 不能单独使用
 * 必须和try 或者 try catch一起使用
 * finally 只有一种不执行的情况 那就是JVM虚拟机终止System.exit(0);

        

 1.6.6  1.7新特性

        自动关闭资源

        try(开启资源语句;){

        高风险代码

}catch(异常类型 变量){

}

        

 1.6.7 注意

        方法覆写 不能比原方法有更宽泛的异常

        子类方法抛出的异常 不能大于父类的异常

               

1.7 自定义异常类

        创建一个异常类 继承已有异常

        提供无参构造 带参构造

        如果自定义异常类是运行时异常 继承RuntimeException即可

        否则一般直接继承Exception

2 需求(跟设计有关)

2.1 设计图

        

        分析

                controller包里面的类 是实现前后端交互的 调用一些方法

                service包里面的类 是逻辑处理

                dao 是实现后端跟数据库的交互 只实现功能没有逻辑处理

                util包里面的类是自己写的自定义异常 很常用 是一种提醒机制

                pojo就是普通的java类

                

        

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中包含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值