java异常类层次结构图-丁香结是什么类型的结
一、java异常的概念
在使用计算机语言进行项目开发的过程中,即使程序员把代码写得很完美,在系统运行过程中还是会遇到一些问题,因为很多问题是代码无法避免的java异常类层次结构图,比如:客户输入数据的格式, 读取文件是否存在,网络是否常开等
异常:在Java语言中,将程序执行过程中发生的异常情况称为“异常”。
Java程序执行过程中发生的异常事件(运行时一切都是异常的)可以分为两类:
public class ExcptionTest {
public void test(){
System.out.println( "====运行前====" );
int a=10/0;
System.out.println( "====运行后====" );
}
public static void main(String[] args) {
ExcptionTest et= new ExcptionTest();
et.test();
}
}
运行结果为
解决方案:
一种是在遇到异常时终止程序的运行。
另一种方法是程序员在编写程序时考虑异常检测、异常消息提示和异常处理。
不寻常的系统
异常分为运行时异常和编译时异常
异常处理
尝试 {
编写可能会中断的代码
目前还不确定try里面写了哪些代码,没关系,可以多放一些代码进去
}catch(特定异常类型 1){
捕获try中发生的相应类型的异常
}catch(特定异常类型2){
捕获try中发生的相应类型的异常
}赶上(异常){
不是处理问题
1.可以提示用户
2、输出异常相关信息,方便开发者调试
3.打印程序运行日志
}最后{
在这里写一些最终必须执行的代码
}
getMessage() 获取异常信息并返回一个字符串
printStackTrace() 获取异常类名和异常信息,以及异常在程序中发生的位置。 返回值无效
关键词
投掷,投掷
在定义一个方法的时候,可以使用throws关键字声明,也就是说这个方法不处理异常,而是交给方法调用来处理。 例如:public void test throws exception 1, exception 2, exception 3{ }
● 任何方法都可以使用throws 关键字声明异常类型,包括抽象方法。
● 子类重写了父类中的方法,子类的方法不能声明抛出大于父类类型的异常(编译时异常)。
● 使用throws的方法在调用时必须处理声明的异常,要么使用try-catch,要么继续使用throws语句
throw关键字用于显式抛出异常,抛出时是异常类的实例化对象。
在方法体中使用 Throw 来抛出一个实际的异常对象。 使用throw之后,要么使用try catch捕获异常java异常类层次结构图,要么使用throws声明异常:throws用于方法声明处,声明方法中可能发生的异常类型,可以是多种异常类型,用于强制调用方法时要处理这些异常。 抽象方法也可以用throws
自定义异常
自定义异常
java语言中提供了很多异常类,都是和语法相关的。
在实际业务开发中,有时候,我们也需要在一定条件下通过抛出异常对象的方式来处理。
判断分数
因此,我们可以自定义异常类,当不满足条件时,可以抛出该类型的对象。
基本语法
public class 异常类名 extends Exception/RuntimeException{
public 异常类名(String msg){
super(msg);
}
}