异常处理(003)_如何抛出异常
2016-08-30 17:27
337 查看
1、如何抛出异常
抛出异常使用throws/throw关键字。了解异常看这里:什么是java中的异常想知道如何捕获异常看这里:如何捕获异常
2、throws关键字是什么
throws用来声明某一个方法可能抛出的异常,这个异常可以是系统定义的,也可以是自己定义的。调用throws修饰的方法,必须要对其做异常处理,或者将异常声明抛出(使用throws)。
语法:
[java] view
plain copy
import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
}
//Remainder of class definition
}
一个方法可以声明它抛出多个异常,在这种情况下,异常都是在以逗号分割的形式声明的。
语法:
[java] view
plain copy
import java.io.*;
public class className
{
public void withdraw(double amount) throws RemoteException,
InsufficientFundsException
{
// Method implementation
}
//Remainder of class definition
}
例子:
[java] view
plain copy
import java.io.*;
public class ExceptionTest{
public static void main(String args[]) throws IOException, NullPointerException{
file = new FileInputStream(fileName);
x = (byte) file.read();
}
}
这将产生以下结果:
Exception in thread "main" java.io.FileNotFoundException: /usr/test (No such file or directory)
at java.io.FileInputStream.open(Native Method)
异常被抛出,中断执行,并打印了堆栈信息。
3、throw关键字是什么
使用throw关键字可以抛出一个异常对象。另外,如果一个方法不处理异常,则该方法必须使用throws关键字声明它。
语法:
[java] view
plain copy
import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
throw new RemoteException();
}
//Remainder of class definition
}
例子:
[java] view
plain copy
public class className
{
public void main(String[] args) throws Exception
{
throw new Exception("异常");
}
}
这将产生以下结果:
Exception in thread "main" java.lang.Exception: 异常
at com.test.Test.main(Test.java:37)
异常被抛出,并打印了堆栈信息。
4、throws/throw关键字有什么区别
throws是用来声明一个方法可能抛出的所有异常信息。throw则是指抛出的一个具体的异常对象。
相关文章推荐
- C++中的异常处理(二)——抛出异常
- VC6.0中如何让new操作失败后抛出异常?
- VC6.0中如何让new操作失败后抛出异常
- JNI官方规范中文版——如何在JNI中抛出Java异常
- Java编程时主线程如何捕获子线程抛出的异常
- 在VC6.0中如何让new操作失败后抛出异常?
- 如何处理构造函数抛出的异常?
- 线程中抛出未捕捉的异常会如何? [修正版]
- PHP如何抛出异常处理错误
- 说说如何抛出Java异常
- [WPF]如何在关闭非模态子窗体时用消息框确认——解决最小化窗体时抛出的异常
- VC6.0如何让new失败后抛出异常【转】
- C# 如何处理抛出的异常,或者已知的错误
- 线程中抛出未捕捉的异常会如何?
- 在VC6.0中如何让new操作失败后抛出异常?
- VC6.0如何让new失败后抛出异常
- 讨论该如何抛出C++异常以及捕获异常?
- VC6.0如何让new失败后抛出异常
- Linux之C语言中如何抛出异常或将异常写入日志文件中
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?