全自动网站制作系统,成都龙泉建设网站,资讯门户类网站,学院网站建设实例1.异常是什么
异常是指在程序运行过程中可能发生的、与正常执行流程不符的事件。这些事件可能包括错误、不合理的输入、资源不足等。在 Java 中#xff0c;异常是通过 throw 语句抛出的#xff0c;可以是 Java 内置的异常类#xff0c;也可以是自定义的异常类。
2. 异常类…1.异常是什么
异常是指在程序运行过程中可能发生的、与正常执行流程不符的事件。这些事件可能包括错误、不合理的输入、资源不足等。在 Java 中异常是通过 throw 语句抛出的可以是 Java 内置的异常类也可以是自定义的异常类。
2. 异常类的层次结构
在 Java 中异常类被组织成一个层次结构。
所有的异常类都是 Throwable 类的子类主要分为两大类Error 和 Exception。
1Error
表示严重的错误程序通常无法处理。例如OutOfMemoryError表示内存不足。
2Exception
表示程序可以处理的异常。又分为两种 RuntimeException运行时异常和其他非运行时异常。
RuntimeException 表示程序运行时可能会出现的异常这些异常通常由程序员在编写代码时可以避免的例如NullPointerException、ArrayIndexOutOfBoundsException等。非运行时异常 表示程序运行时难以避免的异常通常是由外部条件造成的。例如IOException表示输入输出操作可能发生错误。
常见错误
OutOfMemoryError 内存溢出StackOverflowError 堆栈溢出异常FileNotFoundException 找不到指定的文件或目录RuntimeExceptions 运行时间异常NullPointerException 空指针异常ArithmeticException 数学运算异常ArrayIndexOutOfBoundsException 数组下标越界异常ClassCastException 类型转换异常NumberFormatException 数字格式不正确异常
3. try-catch 块的使用
在 Java 中 try-catch块是用于捕获和处理异常的机制。在 try 块中放置可能抛出异常的代码而在 catch 块中处理异常使用 finally 来存放无论发不发生异常都要执行的代码。
try {// 可能抛出异常的代码// ...
} catch (ExceptionType1 e1) {// 处理 ExceptionType1 异常的代码
} catch (ExceptionType2 e2) {// 处理 ExceptionType2 异常的代码
} finally {// 无论是否发生异常都会执行的代码块
}try块 包含可能抛出异常的代码。catch块 处理特定类型的异常。可以有多个catch块每个块处理不同类型的异常。finally块 无论是否发生异常都会执行的代码块。通常用于释放资源或清理工作。
4. 抛出异常
除了在运行时可能出现异常的情况下由系统抛出外程序员也可以使用 throw 语句主动抛出异常。
public class CustomExceptionExample {public static void main(String[] args) {try {// 主动去抛出一个自己定义的错误throw new CustomException(This is a custom exception.);} catch (CustomException e) {// 如果发生 CustomException 这种错误然后输出下面的信息System.out.println(Caught custom exception: e.getMessage());}}
}// 自己定义一种错误类型继承自 Exception
class CustomException extends Exception {// 一个有参构造函数传入一个 messag 错误信息作为参数public CustomException(String message) {super(message);}
}在上述例子中CustomException 是自定义的异常类通过 throw 语句抛出并在 catch 块中捕获。
5. 使用throws关键字声明异常
在方法签名中使用 throws 关键字声明方法可能抛出的异常。这告诉调用者该方法可能引发的异常类型使得调用者能够适当地处理异常。
public class ThrowsExample {public static void main(String[] args) {try {// 因为此方法 使用了 throws 抛出 CustomException错误// 所以这里 使用了 try catch 去处理methodWithException();} catch (CustomException e) {System.out.println(Caught custom exception: e.getMessage());}}// 因为这个方法内 有可能 会出现 CustomException 这个错误// 而 本方法 还不想去 处理这种错误所以就继续向上抛向上抛错使用的就是 throws 关键字public static void methodWithException() throws CustomException {// 可能抛出异常的代码throw new CustomException(This is a custom exception.);}
}// 自己定义一种错误类型继承自 Exception
class CustomException extends Exception {public CustomException(String message) {super(message);}
}
总结
异常是我们实际开发过程中遇见最多的一个既熟悉又陌生的东西了所以我们要掌握好异常是如何抛出及处理的发生错误的时候我们要仔细阅读给出的错误信息因为这就是解决问题的关键。