异常|try catch finally|throws|throw|ArithmeticException(运算异常): / by zero

本文介绍了Java异常处理的基础知识,包括异常的分类,如Error和Exception,以及如何处理异常。重点讲解了try-catch-finally结构的使用,catch的多分支捕获,finally块的必要执行,以及throw和throws的区别和用法。特别提到了ArithmeticException,即除以零异常,强调了定位异常类型和位置的重要性。
摘要由CSDN通过智能技术生成

主题:异常(不正常)<基础版>

1 异常分类

所有类中最大:Object
异常中最大类:Throwable(2类)

  1. Error 错误
  2. Exception 异常
  • 运行时异常:/by zero-------不影响程序运行
  • 非运行时异常:报错的地方(红线)------编辑代码过程中:调用某方法时,可能会出现异常
    编码中,只要有一个报错的地方(红线),代码就不能运行
异常发生背景 没有按正常的步骤执行完毕 未点退出,直接闪退
异常 自己可以解决 其他人登录,改密码,重新登录
错误 不可以解决 服务器瘫痪,后台调整

2 解决异常(2种)

2.1 捕获异常 try catch finally-----拿到异常对象后,做什么(类比if else)

2.1.1 try --------可能发生异常的所有相关的代码

try{
可能发生异常的代码
如果发生异常,(虚拟机自动 按catch异常类型 创建异常对象)并被抛出

try:放可能发生异常的所有相关的代码
1.(自身)放可能发生异常的代码
2.(关联)可能发生异常代码的返回值------输出System.out.println(); try代码块中:A处发生异常,A处以下的内容都不会执行。即:不会输出后续错误的数据,比如System.out.println()在try代码块下方,此时打印内容就为错误。

try 直达 finally try catch1 finally try catch2 finally
手抓饭 用勺子吃饭 用筷子吃饭
最简洁情况 额外处理:勺子的逻辑:
从哪获得
怎么用等
额外处理:筷子的逻辑:
从哪获得
怎么用等

2.1.2 catch --------多分支多捕获

}catch(异常类型1 变量名){ 捕获异常对象,给变量赋值
catch代码块中的代码 只在异常发生时 执行
异常对象调用方法

异常变量名.printStackTrace();-----------打印异常相关信息/执行特定代码

return XXX;
}catch(异常类型2 变量名){
1个try可搭配多个catch。
可以并列多个不同类型异常,捕获同一块try代码不同异常类型对象

因为代码从上而下执行,必须:
捕获异常顺序:子类异常在上,父类异常在下----每次异常发生,只执行一个catch块

  1. 小异常类型catch放上面
  2. 或者,只用一个最大的异常类型接受
错误:
try{
   
}catch(Exception e){
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值