JavaEE基础 第八节 异常

异常

异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。在Java等面向对象的编程语言中异常属于对象。

异常就是在程序的运行过程中所发 生的不正常的事件,如果不处理,它会中断正在运行的程序。如果处理,会发生个别代码不执行,但是程序可以继续。

Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws

Try-catch

Try{

有可能发生异常代码try中,如果try中代码发生异常,程序程序不会直接终止

--一段代码只能处理一个异常。,解决之后try中代码不执行,继续执行trycatch后的代码

}catch(捕获异常){---

捕获到异常之后进行异常处理——无论你处理或者不处理,只要捕获到就算解决了。

}catch(捕获异常){

捕获到异常之后进行异常处理——无论你处理或者不处理,只要捕获到就算解决了。

}catch(捕获异常){

捕获到异常之后进行异常处理——无论你处理或者不处理,只要捕获到就算解决了。

}finally{

最终代码:有没有异常最终都需要执行的代码

}

public class Student {

private String sex;

public String getSex() {

return sex;

}

// throws声明该方法抛出一个什么异常

public void setSex(String sex) throws Exception {

if(sex.equals("男")||sex.equals("女")){

this.sex = sex;

}else{

throw new Exception("输入的性别不对,请检查!!");//抛出异常

}

}

public static void main(String[] args) {

Student ss=new Student();

//调用声明了异常抛出的方法 ,必须将调用代码书写到try catch或者自己接着抛出

try {

ss.setSex("AAA");

} catch (Exception e) {

e.printStackTrace();//打印异常栈中的信息

System.out.println(e.getMessage());

}

System.out.println(ss.getSex());

异常和错误的区别:

 Error类通常用以描述Java运行系统中的内部错误以及资源耗尽的错误等,一般是指JVM错误

Error类异常比较严重,仅靠修改程序本身不能恢复执行,被称为致命性异常。

Exception类被称为非致命性异常,可以通过捕获处理后正常运行 ,可以分为两种:RuntimeException异常和Runtime Exception之外的异常

RuntimeException异常又被称为运行时异常,即程序在运行阶段出现的异常;RuntimeException之外的异常又被称为编译时异常,即程序在编译阶段出现的异常

异常类说明

NullPointerException访问Null对象的方法 

IllegalArgumentException接收非法参数 

ClassNotFoundException不能加载所需要的类 

ArithmeticException算术运算异常,如除数为零 

ArrayIndexOutOfBoundsException数组小于或大于数组的长度 

InputMisMatchException接收的数据类型与实际输入的类型不匹配 

NumberFormatException格式化数据异常 

IOException文件读写异常

日志

debug调试级别的⽇志

INFO - info 正常级别的⽇志

WARN - warn警告级别的⽇志

ERROR - error错误级别的⽇志

FATAL - fatal致命级别的⽇志

程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少

日期

LocalDateTime dateTime=LocalDateTime.now();

System.out.println(dateTime);

//将日期格式化成字符串:LocalDateTime的format方法 yyyy-MM-dd HH:mm:ss

DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy年MM月");

String ss=dateTime.format(formatter);

System.out.println(ss);

//将字符串解析成日期:LocalDateTime的parse方法进行解析

DateTimeFormatter formatter2=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

String str="2020-11-11 12:12:12";

LocalDateTime tt= LocalDateTime.parse(str,formatter2);

System.out.println(tt);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值