Java面向对象之异常处理机制(try-catch-finally、throws、自定义异常)

一、异常与异常分类

1、错误(Error)
在编译时就报出了的叫做错误,比如语法错误、逻辑错误等,这属于代码的基本错误。
1.1.1

2、编译型异常(Exception)
编译型异常,是指在编译过程中就出现的异常信息。编译器要求必须处置的异常。即程序在运行时由于外界因素造成的一般性异常。编译器要求Java程序必须捕获或声明所有编译时异常。

对于这类异常,如果程序不处理,可能会带来意想不到的结果。比如:tan90°、除法中分母为0等。

3、运行时异常(untimeException)
一般是指编程时的逻辑错误,是程序员应该积极避免其出现的异常java.lang.RuntimeException类及它的子类都是运行时异常。
对于这类异常,可以不作处理,因为这类异常很普遍,若全处理可能会对程序的可读性和运行效率产生影响。

常指代码一般能够编译通过,但在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,也就是所谓的运行时异常,

4、Java程序在执行过程中所发生的异常事件可分为两类
(1)Error: Java虚拟机无法解决的严重问题。 如: JVM系统内部错误、 资源耗尽等严重情况。比如: StackOverflowError和OOM。 一般不编写针对性的代码进行处理。

(2)Exception: 其它因编程错误或偶然的外在因素导致的一般性问题, 可以使用针对性的代码进行处理。

  • 空指针访问
  • 试图读取不存在的文件
  • 网络连接中断
  • 数组角标越界

4、注意
(1)在运行程序过程中遇到异常时,程序会被迫终止执行下去,直接抛出异常警告。
(2)程序员在编写程序时, 就应该考虑到错误的检测、 错误消息的提示, 以及错误的处理。

二、异常处理机制

1、try-catch处理
public class Test07_Whale extends Test07_Mammal{
   
   
	public static void main(String[] args) {
   
   
		try{
   
   
			System.out.println(1/0);
		}catch(Exception e){
   
   
			e.printStackTrace();  //输出错误信息
			System.out.println("程序执行出错了!");
		}
		
		System.out.println("--------------------------this is bottom-------------------------" );
	}
}

2.1.1

2、try-catch-finally处理

不管有没出错,都会执行的代码段,常作为收尾工作的存放位置。

public class Test07_Whale 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值