前言
最近在自学一个项目的时候会经常遇到异常,对其处理方式无非就是根据IDEA的提示添加上try…catch或者在方法后面使用throws关键字,对异常的原理和处理方式没有系统的认知,于是本文通过介绍JAVA异常和处理方式来解决这方面的疑惑。 参考资料尚硅谷宋红康B站视频:https://www.bilibili.com/video/BV1Qb411g7cz?p=369&vd_source=e9e9a9cf847b218e1bcca41f063636a8
一、异常概述与异常体系结构?
1.异常定义
JAVA中的异常指的是程序出现无法预期的结果,比如空指针、数组越界、IO等异常。
2.异常分类
JAVA中的异常都是Throwable类的子类,主要分为异常(Exception)和错误(Error)。异常和错误的区别:异常能被程序本身可以处理,错误是无法处理。
2.1 异常(Exception)
Exception表示为程序可以处理的异常,并且根据代码运行阶段是否需要去检查异常分别编译时异常和运行时异常。
2.1.1 运行时异常
都是RuntimeException类以及其子类,也叫unchecked exception。如ArrayIndexOutOfBoundary、NullPointerException等异常,这些异常都是不检查异常,程序可以选择捕获处理,也可以不选择处理。这些异常一般是由代码的逻辑错误引起的,所以程序尽量从逻辑的角度避免;运行时异常的特点就是Java编译器不会检查他,即使这段代码没有使用try catch和throw,还是会编译通过的。
2.1.2 非运行时异常
是除了RuntimeException类和其子类外的Exception类和其子类,也叫checked excption。从程序的语法角度来讲是必须要处理的异常,如果不处理的话,代码就无法编译通过,如常见的IOException、SQLException等等。
2.2 错误(Error)
大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现OutOfMemoryError。这些异常发生时,JVM一般会选择线程终止。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,如Java虚拟机运行错误(Virtual MachineError)、类定义错误(NoClassDefFoundError)等。
二、常见异常
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https:
print(data.head())
该处使用的url网络请求的数据。
三 异常处理机制
四 手动抛出异常:throw
五 用户自定义异常类
六 项目实践
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
|