Java自学之路-Java基础教程-33:Java的异常类Exception和throws关键字
2018-03-19 16:07
816 查看
上一节进行Java的文件IO操作时,有两个地方都加了throws Exception,也就是抛出异常的意思。
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileUtil.wrtieFile("E:/newFile.txt", "Hello Wolrd!");
FileUtil.readFile("E:/newFile.txt");
}
Exception是Java的一个很常用的类,就是异常的意思。异常不是错误,而潜在的可能出错的意思。操作文件时,可能出现文件不存在的错误,这就是一种文件不存在的异常,当然还有文件被破坏了的异常情况。Java的文件操作异常称为IO异常,有一个基本的类IOException。这个类下面还有一些子类,如FileNotFoundException文件不存在异常类,DiskOutOfSpaceException磁盘已满异常类,FileAlreadyExistsExeption文件已存在异常类。
throws就是抛出,不处理的意思。对这些异常,Java程序要求开发者要么处理,要么不处理,不处理其实就在方法上加上throws关键字就可以了。当一个方法有throws关键字时,调用这个方法的地方就又要选择处理了。比如main()方法要调用FileUtil.wrtieFile()和FileUtil.readFile(),又选择不处理,所以main()方法上也加上了throws关键字。
如果要处理异常,就要加处理异常的语句了。处理异常的语句为try{}和catch(){},称为尝试捕捉异常。
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
FileUtil.wrtieFile("E:/newFile.txt", "Hello Wolrd!");
} catch (Exception e) {
e.printStackTrace();
}
try {
String fileContent = FileUtil.readFile("E:/newFile.txt");
System.out.println(fileContent);
} catch (Exception e) {
e.printStackTrace();
}
}
上面的try{}和catch(){}语句就是在处理异常。try{}里面的是有要处理异常的方法语句。catch(Exception e)就是try{}里面的方法所抛出的异常是Exception类的异常。catch{}里面的语句e.printStackTrace();是调用Exception对象e的打印异常信息的方法.printStackTrace()。
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(args[99]);
}在main()方法里可以自己故意搞出个异常来,写一句System.out.println(args[100]);运行一下,Console控制台出现了Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100这样的数组越界异常信息。这里出现了异常,也就是这句里可以处理一下,用try{}和catch(){}捕捉这个异常。
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println(args[99]);
} catch (Exception e) {
System.out.println("main()方法的args第100个参数没有传入!");
}
}这样处理后,程序如果遇到了没有传入第100个参数异常,就不打印原来的那种看不懂的信息了,而是自己定义了看得懂的信息"main()方法的args第100个参数没有传入!"。当然,也可以写其他的语句,进行要做的什么就写什么。
具有OCR和ASR功能,可以识别图片和录音中文字,并有多国语言翻译功能,可以作为便签或笔记,类似微博的图文应用
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileUtil.wrtieFile("E:/newFile.txt", "Hello Wolrd!");
FileUtil.readFile("E:/newFile.txt");
}
Exception是Java的一个很常用的类,就是异常的意思。异常不是错误,而潜在的可能出错的意思。操作文件时,可能出现文件不存在的错误,这就是一种文件不存在的异常,当然还有文件被破坏了的异常情况。Java的文件操作异常称为IO异常,有一个基本的类IOException。这个类下面还有一些子类,如FileNotFoundException文件不存在异常类,DiskOutOfSpaceException磁盘已满异常类,FileAlreadyExistsExeption文件已存在异常类。
throws就是抛出,不处理的意思。对这些异常,Java程序要求开发者要么处理,要么不处理,不处理其实就在方法上加上throws关键字就可以了。当一个方法有throws关键字时,调用这个方法的地方就又要选择处理了。比如main()方法要调用FileUtil.wrtieFile()和FileUtil.readFile(),又选择不处理,所以main()方法上也加上了throws关键字。
如果要处理异常,就要加处理异常的语句了。处理异常的语句为try{}和catch(){},称为尝试捕捉异常。
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
FileUtil.wrtieFile("E:/newFile.txt", "Hello Wolrd!");
} catch (Exception e) {
e.printStackTrace();
}
try {
String fileContent = FileUtil.readFile("E:/newFile.txt");
System.out.println(fileContent);
} catch (Exception e) {
e.printStackTrace();
}
}
上面的try{}和catch(){}语句就是在处理异常。try{}里面的是有要处理异常的方法语句。catch(Exception e)就是try{}里面的方法所抛出的异常是Exception类的异常。catch{}里面的语句e.printStackTrace();是调用Exception对象e的打印异常信息的方法.printStackTrace()。
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(args[99]);
}在main()方法里可以自己故意搞出个异常来,写一句System.out.println(args[100]);运行一下,Console控制台出现了Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100这样的数组越界异常信息。这里出现了异常,也就是这句里可以处理一下,用try{}和catch(){}捕捉这个异常。
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.println(args[99]);
} catch (Exception e) {
System.out.println("main()方法的args第100个参数没有传入!");
}
}这样处理后,程序如果遇到了没有传入第100个参数异常,就不打印原来的那种看不懂的信息了,而是自己定义了看得懂的信息"main()方法的args第100个参数没有传入!"。当然,也可以写其他的语句,进行要做的什么就写什么。
具有OCR和ASR功能,可以识别图片和录音中文字,并有多国语言翻译功能,可以作为便签或笔记,类似微博的图文应用
相关文章推荐
- Java自学之路-Java基础教程-22:Java的方法返回值和return关键字
- Java自学之路-Java基础教程-43:Java的常量和final关键字
- Java自学之路-Java基础教程-18:Java四大特性之多态性以及接口interface
- Java自学之路-Java基础教程-7:Java术语之成员类型符static
- Java自学之路-Java基础教程-20:Java的数组以及其他引用类型和JDK
- Java自学之路-Java基础教程-9:Java的变量类型-8种基本类型和3种引用类型
- Java自学之路-Java基础教程-6:Java术语之修饰符public
- Java自学之路-Java基础教程-11:Java基本语句之1-条件控制语句if和else
- Java自学之路-Java基础教程-27:Java Web工程的运行和Tomcat服务器
- Java自学之路-Java基础教程-17:Java四大特性之继承性以及extends父类和子类
- Java基础-异常-throws Exception-抛声明
- Java自学之路-Java基础教程-23:Java程序的打包和命令行运行jar包
- Java自学之路-Java基础教程-2:运行Java程序的Java虚拟机环境塔建
- Java自学之路-Java基础教程-24:Java工程结构以及类路径classpath
- Java自学之路-Java基础教程-21:Java的方法参数以及Eclipse新建工程和类
- Java自学之路-Java基础教程-1:第一行Java代码Hello World!
- Java自学之路-Java基础教程-12:Java基本语句之2-循环控制语句for
- Java基础学习总结(86)——Java异常处理机制Exception抛出异常时throw和throws用法详解
- Java自学之路-Java基础教程-16:Java四大特性之封装性以及类包package
- Java自学之路-Java基础教程-10:Java的4种运算符-算数运算符、关系运算符、逻辑运算符、位运算符