① java提供给程序主动抛出异常的语句
直接throws Exception 写在你的方法或者类名后
或者用try catch
② java中 方法中抛出异常处理方法
Java语言提供两种异常处理机制:捕获异常和声明抛弃异常。
1、捕获异常:
(1)在Java程序运行过程中系统得到一个异常对象是,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。
(2)找到能够处理这种类型异常的方法后,运行时系统把当前异常交给这个方法处理;如果找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。
(3)捕获异常是通过try-catch-finally语句实现的。语法为:
try{
...
}catch(ExceptionName1 e){
...
}catch(ExceptionName2 e){
...
}
...
}finally{
...
}
2、声明抛弃异常:
(1)当Java程序运行时系统得到一个异常对象时,如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃异常。
(2)声明抛弃异常是在一个方法声明中的throws子句中指明的。如:
public int read() throws IOException{
...
}
其中throws IOException就是声明抛弃异常,throws后可以跟多个异常类型。
(2)java如何抛异常扩展阅读:
程序设计语言的异常机制:
1、多数语言的异常机制的语法是类似的:用throw或raise抛出一个异常对象(Java或C++等)或一个特殊可扩展的枚举类型的值(如Ada语言);
2、异常处理代码的作用范围用标记子句(try或begin开始的语言作用域)标示其起始,以第一个异常处理子句(catch, except, resuce等)标示其结束;可连续出现若干个异常处理子句,每个处理特定类型的异常。
3、某些语言允许else子句,用于无异常出现的情况。更多见的是finally, ensure子句,无论是否出现异常它都将执行,用于释放异常处理所需的一些资源。
(1)C++异常处理是资源获取即初始化(Resource-Acquisition-Is-Initialization)的基础。
(2)C语言一般认为是不支持异常处理的。Perl语言可选择支持结构化异常处理(structured exception handling)。
(3)Python语言对异常处理机制是非常普遍深入的,所以想写出不含try, except的程序非常困难。
参考资料来源:
网络-异常处理
③ JAVA如何抛出异常
throws 在方法外面,把异常抛给上一层,或者try-catch在本方法中处理异常。
④ JAVA如何抛出异常。。
如果你知道你写的某个函数有可能抛出异常,而你又不想在这个函数中对异常进行处理,只是想把它抛出去让调用这个函数的上级调用函数进行处理,那么有两种方式可供选择:
第一种方式:直接在函数头中throws SomeException,函数体中不需要try/catch。比如将最开始的例子中的testEx2改为下面的方式,那么testEx1就能捕捉到testEx2抛出的异常了。
boolean testEx2() throws Exception{
boolean ret = true;
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
}
return true;
}
第二种方式:使用try/catch,在catch中进行一定的处理之后(如果有必要的话)抛出某种异常。例如上面的testEx2改为下面的方式,testEx1也能捕获到它抛出的异常:
boolean testEx2() throws Exception{
boolean ret = true;
try{
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
}
return true;
}catch (Exception e){
System.out.println("testEx2, catch exception");
Throw e;
}
}
第三种方法:使用try/catch/finally,在catch中进行一定的处理之后(如果有必要的话)抛出某种异常。例如上面的testEx2改为下面的方式,testEx1也能捕获到它抛出的异常:
boolean testEx2() throws Exception{
boolean ret = true;
try{
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
throw new Exception("aaa");
}
return true;
}catch (java.lang.ArithmeticException e){
System.out.println("testEx2, catch exception");
ret = false;
throw new Exception("aaa");
}finally{
System.out.println("testEx2, finally; return value="+ret);
}
}
---------来自知道网友: c15836
⑤ Java:如何将异常抛到指定方法呢
JAVA没有这样的处理机制,在VB等语言里有on
error
goto(错误处理)这样的处理机制(虽然本质来说JAVA的异常跟错误是完全不同的两个概念,这里只是拿来做对比说明),JAVA会捕捉不同的异常进行不同的处理,如果你要对所有的异常进行同一个处理,可以编写一个异常处理方法,在所有捕捉到的地方调用该方法。
⑥ java中怎么抛异常和接收异常
抛出异常 就是使用 throw关键字 除了抛出常见的默认异常外,主要是用于抛出自定义异常,关于自定义异常就是继承了Exception类的子类接受异常是指捕获异常吗,似乎没有听说过接受异常这种说法,捕获异常的话主要是用 try{} catch(){} finally{} 结构try {}数据块中 是预期可能出现异常的代码catch 的 attribute 是指定希望捕获的异常,比如catch(NullPointerException e )就是只测试并捕获空指针异常,再如catch(Exception e) 就可以捕获所有继承了Exception的子类,{}则是捕获该异常后的处理代码,比如输出错误信息,etc 实际应用中可以有多个catch 用来区分不同的异常然后运行不同的代码进行处理finally{}则是无论是否捕获异常,该代码都会执行 希望对你有帮助
⑦ java抛出异常
抛出异常分为两种吧,一种是制造异常,一种是抛出可能发生的异常
throw关键字,抛出一个异常(即制造一个异常),用法 throw 异常 ,该异常必须为java.lang.Exception的子类,如果是RuntimeException子类的话,则不需要捕获或抛出异常。
throws关键字,抛出一个可能发生的异常,用在函数定义中,末尾处,以主函数为例子,public static void main(String[] args) throws 异常; 该异常必须为Exception子类,常用于其子类,是这一个方法体执行中可能抛出(throw)的异常处理。如果不进行throws,也可以用try...catch语句进行捕获。
自定义异常,类一定(间接)继承java.lang.Exception类,当然,继承java.lang.RuntimeException就可以不用进行处理,下面举一个例子:
public class TestException extends Exception {
public TestException(String message) {
super(message);
}
public TestException() {}
}
一般自定义异常需要有2个构造函数,五参构造器和String类型构造器,有参构造调用父类有参构造。
⑧ java中如何一次抛出多个异常
基本思路就是定义三个类,继承异常的父类,然后在需要抛出异常的地方,throws一下就可以了,示例如下:
{
publicstaticvoidmain(String[]args)throwsException{
try{
test(2);
}catch(Exceptione){
if(einstanceofTestAException||einstanceofTestBException
||einstanceofTestCException){
e.printStackTrace();
}else{
throwe;
}
}
}
publicstaticvoidtest(inta)throwsTestAException,TestBException,
TestCException{
if(a==0){
thrownewTestAException();//抛出第一个异常
}
if(a==1){
thrownewTestBException();//抛出第二个异常
}
if(a==2){
thrownewTestCException();//抛出第三个异常
}
}
}
{//继承父类Exception
=1L;
}
{
=1L;
}
{
=1L;
}
⑨ Java的异常抛出问题
这个方法的意思是:
1.传入两个参数, 一个int数组, 一个目标值int类型
2.如果满足条件就返回一个新的数组(return new int[]{}), 且方法就此结束
3.如果没有满足的条件, 那么抛异常, 异常在实际运用中一般用来信息传递(比如这里, 就是通知到调用方:没有解决方案)