[url]http://www.iteye.com/topic/904698
[/url]
在处理抛出异常的方法时,我们可以采用try/catch进行捕捉 或者使用throws抛出, 但具体怎么使用, 什么时候进行try/catch,什么时候进行throws? 现通过代码简要总结.
实验1 :使用try/catch
在main方法中对methord1()抛出的异常进行捕捉
Java代码
1. import java.io.File;
2. import java.io.IOException;
3.
4. public class ExceptionTest {
5.
6. public static void main(String[] args) {
7. try {
8. methord1();
9. } catch (IOException e) {
10. // TODO Auto-generated catch block
11. e.printStackTrace();
12. }
13. methord2();
14. }
15. private static void methord1() throws IOException {
16. // TODO Auto-generated method stub
17. System.out.println("methord1 ");
18. File f = new File("");
19. f.createNewFile();
20.
21. System.out.println("methord1111 ");
22. }
23. private static void methord2() {
24. // TODO Auto-generated method stub
25. System.out.println("methord2 ");
26. }
27. }
import java.io.File;
import java.io.IOException;
public class ExceptionTest {
public static void main(String[] args) {
try {
methord1();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
methord2();
}
private static void methord1() throws IOException {
// TODO Auto-generated method stub
System.out.println("methord1 ");
File f = new File("");
f.createNewFile();
System.out.println("methord1111 ");
}
private static void methord2() {
// TODO Auto-generated method stub
System.out.println("methord2 ");
}
}
,结果为:
Java代码
1. methord1
2. java.io.IOException: 系统找不到指定的路径。
3. at java.io.WinNTFileSystem.createFileExclusively(Native Method)
4. at java.io.File.createNewFile(File.java:850)
5. at com.bryant.test.ExceptionTest.methord1(ExceptionTest.java:21)
6. at com.bryant.test.ExceptionTest.main(ExceptionTest.java:10)
7. methord2
methord1
java.io.IOException: 系统找不到指定的路径。
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:850)
at com.bryant.test.ExceptionTest.methord1(ExceptionTest.java:21)
at com.bryant.test.ExceptionTest.main(ExceptionTest.java:10)
methord2
methord2 方法也执行.
实验2.使用throws
修改main方法为throws methord1()抛出的异常:
Java代码
1. public static void main(String[] args) throws IOException {
2.
3. methord1();
4. methord2();
5. }
public static void main(String[] args) throws IOException {
methord1();
methord2();
}
结果为:
Java代码
1. methord1
2. Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
3. at java.io.WinNTFileSystem.createFileExclusively(Native Method)
4. at java.io.File.createNewFile(File.java:850)
5. at com.bryant.test.ExceptionTest.methord1(ExceptionTest.java:17)
6. at com.bryant.test.ExceptionTest.main(ExceptionTest.java:10)
methord1
Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:850)
at com.bryant.test.ExceptionTest.methord1(ExceptionTest.java:17)
at com.bryant.test.ExceptionTest.main(ExceptionTest.java:10)
方法methord2 没有执行.
由此总结:
当出现的异常使程序后面无法执行时,抛出异常,结束程序.使用throws
当程序出现异常,不影响后续操作时,捕捉异常,后续程序将继续执行.使用try/catch
分享到:
相关推荐
`try-catch`块是Java异常处理的核心部分,它允许程序员在代码可能出现问题的地方进行异常捕获和处理,避免程序因未预期的错误而崩溃。下面我们将详细讨论`try-catch`捕获异常的实例。 首先,`try`块是包含可能抛出...
Java、C#等许多编程语言提供了异常处理框架,其中“try-catch-finally”是常用的一种结构。下面我们将详细探讨这个主题。 1. **异常的概念** 异常是程序执行期间发生的非正常情况,它可能由用户输入错误、文件不...
2. **catch**:catch块用于捕获try块中抛出的异常。每个try可以有多个catch块,每个catch对应处理一种类型的异常。当try块中的异常被抛出时,Java会根据异常类型匹配相应的catch块。 3. **finally**:无论是否发生...
在Java中,异常处理主要有两种方式:捕获异常(try-catch-finally)和声明抛出异常(throws)。本篇主要讨论第二种方式——声明抛出异常。 一、声明抛出异常类型(throws) 当一个方法在执行过程中可能会遇到某些...
异常处理是通过五个关键字来实现的:`try`、`catch`、`finally`、`throw`和`throws`。在"异常-尝试-捕获-java"这个主题中,我们将深入探讨这些概念。 `try`块是异常处理的起点,它包含了可能会抛出异常的代码。如果...
//2.将虚拟目录映射到物理的目录 VFS.mount(home, new RealFileSystem(new File("d:"))); //3.通过虚拟目录获取文件资源 VirtualFile testFile = home.getChild("test.txt"); ...
在Java中,异常处理主要通过两种方式实现:捕获异常(try-catch-finally)和声明异常(throws + 异常类型)。本篇文章将详细介绍第一种方式——捕获异常。 异常处理的抓抛模型是Java异常处理的核心概念。当程序执行...
### Java软件开发实战:使用throw和throws引发异常 #### 1. Java异常处理基础 在Java编程中,异常处理是一项非常重要的技术,用于处理程序运行过程中可能出现的各种异常情况。异常处理主要包括异常的捕获、处理...
理解异常的概念,运用 try 块、catch 块和 finally 块处理异常,运用多重 catch 块处理异常,运用嵌套 try/catch 块处理异常,运用关键字 throw 和 throws 处理异常。 3. 程序中的异常 在 Java 中,异常可以是编译...
"异常捕获与抛出的问题,什么时候应该try,什么时候应该throws" 在 Java 中,捕获异常和抛出异常是两种不同的机制,分别用于处理不同的异常场景。 捕获异常(try-catch) 捕获异常是指在方法内部使用 try-catch ...
(3)对抛出的异常使用try-catch进行异常处理。 实践二:使用try-catch-finally进行异常处理 需求说明 (1)对实践1的异常使用try-catch-finally进行异常处理 (2)在finally块输出是否抛出了异常 实现思路及关键...
在一个try语句后面,可以有多个catch块,分别捕获不同类型的异常,这样可以在一个地方处理多种可能的异常。 六、自定义异常 开发者可以通过继承Exception类或其子类来自定义异常类型,以便更好地表示特定的错误情况...
`try`块包含可能抛出异常的代码,`catch`块捕获并处理特定类型的异常,`finally`块确保无论是否发生异常,某些代码总会被执行。 5. `try/catch`块的形式: - 基本形式:`try {...} catch (ExceptionType1 e1) {......
处理编译时异常通常有两种方式:使用try-catch语句块捕获并处理异常,或者使用throws关键字声明异常,将异常处理的责任交给调用该方法的代码。 接下来,我们讨论运行时异常(Runtime Exception)。运行时异常是程序...
### Java异常处理的四大金刚:try、catch、finally和throw的深度解析 #### Java异常处理概述 异常处理机制是程序设计中的一个重要组成部分,它能够帮助程序员有效地管理程序运行过程中可能出现的各种错误情况。...
在本章节中,我们将详细介绍 Java 中的异常处理机制,包括异常的分类、try-catch 语句、throws 语句、finally 语句、自定义异常类等。 一、异常的分类 在 Java 中,异常可以分为两大类:Error 和 Exception。Error...
Java异常处理的关键在于正确地使用try-catch语句,以及理解何时使用throws关键字声明可能会抛出的异常。通过合理的异常处理,开发者可以确保程序在遇到问题时优雅地失败,而不是突然崩溃,从而提高软件的可靠性和...
通过将可能发生异常的代码放在`try`块中,并且为每种类型的异常提供对应的`catch`块来处理这些异常。`finally`块用于存放无论是否发生异常都需要执行的代码。 - **throw/throws关键字**:`throw`关键字用于在程序中...
`try`块包含可能会抛出异常的代码,`catch`块用于捕获并处理异常,而`finally`块则确保在任何情况下都会执行的代码,如关闭资源。 在实际编程中,合理地使用`throws`声明异常能够提高代码的可读性和维护性。当一个...