JAVA day24,25,26 异常(try、catch、finally、throw、throws),线程(Thread、Runnable、Callable)

一、异常

异常 :指的是程序在执⾏过程中,出现的⾮正常的情况,最终会导致 JVM 的⾮正常停⽌。
Java 等⾯向对象的编程语⾔中,异常本身是⼀个类,产⽣异常就是创建异常对象并抛出了⼀个 异常对象。Java 处理异常的⽅式是中断处理。
异常的根类是 java.lang.Throwable ,其下有两个⼦类: java.lang.Error java.lang.Exception ,平常所说的异常指 java.lang.Exception

Throwable 体系:
Error :严重错误 Error ,⽆法通过处理的错误,只能事先避免,好⽐绝症。
Exception :表示异常,异常产⽣后程序员可以通过代码的⽅式纠正,使程序继续运⾏,是
必须要处理的。好⽐感冒、阑尾炎。
Throwable 中的常⽤⽅法:
public void printStackTrace() :打印异常的详细信息。包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使⽤ printStackTrace
public String getMessage() :获取发⽣异常的原因。提示给⽤户的时候,就提示错误原因。
public String toString() :获取异常的类型和异常描述信息(不⽤)。

1.异常Exception

1、异常(Exception)的分类

编译时期异常 checked 异常。在编译时期,就会检查,如果没有处理异常,则编译失败。
(如⽇期格式化异常)
|- parseException - 格式化异常
|- IOException - IO异常
|- FileNotFoundException - 文件未找到
|- ClassNotFoundException - 类未找到
|- UnsupportedEncodingException - 不支持的字符集异常
运⾏时期异常 runtime 异常。在运⾏时期,检查异常。在编译时期,运⾏异常不会编译器  
检测(不报错)。(如数学异常)
|- NullPointerException - 空指针异常
|- IndexOutOfBoundException - 下标越界异常
|- ClassCastException - 类型转换异常
|- NumberFormatException - 数值转换异常
|- IllegalArgumentException - 非法的参数
|- UnsupportedOpertionException - 不支持的操作

 2、异常的处理

Java 异常处理的五个关键字: try catch finally throw throws

2.1捕获异常try…catch

捕获异常 Java 中对异常有针对性的语句进⾏捕获,可以对出现的异常进⾏指定⽅式的处理。
try {
编写可能会出现异常的代码
} catch ( 异常类型 e ) {
处理异常的代码
// 记录⽇志 / 打印异常信息 / 继续抛出异常
}
try 该代码块中编写可能产⽣异常的代码。
catch ⽤来进⾏某种异常的捕获,实现对捕获到的异常进⾏处理。
注意: try catch 都不能单独使⽤,必须连⽤。
如何获取异常信息:
Throwable 类中定义了⼀些查看⽅法:
public String getMessage() :获取异常的描述信息,原因(提示给⽤户的时候,就提示错误原因)。
public String toString() :获取异常的类型和异常描述信息(不⽤)。
public void printStackTrace() :打印异常的跟踪栈信息并输出到控制台。包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使⽤ printStackTrace
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
    try- catch解决已检查异常
 */
public class ExceptionDemo01 {
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: try catch finally throw throws 是Java中的关键字,用于处理异常try:用于包含可能会抛出异常的代码块。 catch:用于捕获try块中抛出的异常,并进行相应的处理。 finally:无论try块中是否抛出异常finally块中的代码都会被执行。 throw:用于手动抛出异常throws:用于声明方法可能会抛出的异常类型。 ### 回答2: trycatchfinallythrowthrows都是Java中用于处理异常的关键字。 trytry异常处理语句的开始,用于包裹可能会抛出异常的代码块。在try块中,可以放置可能会出现异常的代码逻辑。 catchcatch用于捕获try块中可能抛出的异常。如果try块中出现了异常,会检查catch块中是否有能够处理该异常的代码块。如果有匹配的catch块,程序会进入该catch块并执行异常处理逻辑。 finallyfinally块用于定义无论是否发生异常,都必须执行的代码。即使try块中出现了异常finally块中的代码仍然会被执行。finally块通常用于资源的释放,例如关闭文件或数据库连接。 throwthrow用于手动抛出异常。可以使用throw关键字在代码中显式地抛出某个具体的异常对象。一旦throw语句执行,程序将立即跳转到最近的catch块进行异常处理。 throws:throws关键字用于声明方法可能抛出的异常列表。在方法的声明中使用throws关键字,表明该方法可能会引发某些异常,调用该方法的代码需要对其进行异常处理或向上一层抛出。如果方法内的异常没有在catch块中处理,那么会根据throws所声明的异常列表传递给该方法的调用者。 总之,try用于尝试执行可能抛出异常的代码块,catch用于捕获和处理异常finally用于定义无条件执行的代码块,throw用于手动抛出异常throws用于声明方法可能抛出的异常列表。这些关键字的使用可以有效地处理异常,提高程序的鲁棒性和可靠性。 ### 回答3: try catch finally throw throws 是Java中的异常处理机制。 try-catch语句用于捕获并处理异常try块中放置可能产生异常的代码,如果产生异常,则由catch块捕获并处理异常catch块中的代码是用于处理异常的,可以在其中编写特定的逻辑来处理异常情况。 finally块是可选的,用于在try-catch块之后执行一段无论是否发生异常都会执行的代码。finally块通常用于释放资源或进行清理操作,确保代码执行完毕后资源得到正确的释放。 throw关键字用于在代码中手动引发异常。通过throw语句,我们可以自定义异常并将其抛出,从而通知调用者发生了错误或特定情况。 throws关键字用于声明方法可能抛出的异常类型。在方法声明中使用throws关键字可以告诉调用者需要处理的可能出现的异常类型以便进行适当的异常处理。 总之,try-catch-finally语句用于处理可能发生的异常throw用于手动引发异常throws用于在方法声明中指定可能抛出的异常类型。异常处理是保证程序健壮性的重要一环,能够更好地应对异常情况,提高代码的可靠性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值