Java的异常小结
主要是举个例子说明一下什么用throws,什么时候用try-catch。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileFilter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
File dir = new File(".");
FileFilter dirFilter = new FileFilter() {
public boolean accept(File pathname) {
return pathname.isFile();
}
};
for (File file: dir.listFiles(dirFilter)) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
print(reader);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
private static void print(BufferedReader reader) throws IOException {
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}
这是用来输出当前目录下的所有文件的一个小程序。
print函数使用throws是因为在这个函数中如果发生了异常,那么这么函数就无法再执行下去了。
而在main函数的循环中,因为在处理一个文件时发生了异常(可能的原因有很多啊,比如突然被人删除了),我们仍然可以跳过这个文件继续执行,因此使用了try-catch。
总结一下,当在函数中自己可以处理异常时,那么就使用try-catch。如果无法处理,那么就用throws,让外层的函数去处理。
相关文档:
//Java中把"替换为\" message="\"book\"";
System.out.println(message);
需要五个
message=message.replaceAll("\"","\\\\\"");
System.out.println(message); ......
话题是由如下的事情引出的: public class StringTest { public static void main(String[] args) { String str1 = new String("abc"); String str2 = "abc"; if (str1 == str2) { ......
import java.io.*;
public class TestConsole{
public static void main(String[] args){
Console console;
char[] pwd;
if((console = System.console()) != null && (pwd = console.readPassword("[%s]", "Please Enter Password:")) != null){
System.out.println(String.valueOf(pwd));
}
......
1、JavaSE的学习书籍
英文名:《Thinking in Java》
中文名:《Java编程思想》
图 片:
作 者:Bruce Eckel
出版社:机械工业出版社
阅读方法:这本书并不适合一点基础都没有的同学进行阅读,强烈建议学的JavaSE。
然后可以直接学习JavaWEB的内容了,但是如果想备一本书在手边备查的 ......
Java读写cookie
/*
* 写cookie
*/
Cookie namecookie = new Cookie("name",name);
Cookie passwordcookie = new Cookie("password",password);
Cookie optioncookie = new Cookie("option","1");
//生命周期
namecookie.setMaxAge(60*60*24*365);
passwordcookie.setMaxAge(60*60* ......