java throw throwable_异常处理:throw,throws和Throwable

这真的很容易理解。

该java.lang.Throwable中:

该Throwable班是在Java语言中所有错误和异常的超类。Java虚拟机仅抛出属于此类(或其子类之一)的实例的对象,或者Java throw语句可以抛出该对象 。同样,catch子句中的参数类型只能是此类或其子类之一 。 更多

关键字throws用于方法声明中,它指定了我们可能期望此方法产生的异常类型[Throwable class]。

关键字throw用于抛出Throwable类实例的对象。

以免看到一些例子:

我们创建自己的异常类

public class MyException super Exception {

}

我们创建了一个方法,该方法从异常类创建对象,并使用关键字throw 抛出该对象。

private  void throwMeAException() throws MyException //We inform that this method throws an exception of MyException class

{

Exception e = new MyException (); //We create an exception

if(true) {

throw e; //We throw an exception

}

}

当我们要使用method时throwMeAException(),由于我们掌握了它抛出某些东西的信息,因此我们不得不以特定的方式来处理它,在这种情况下,我们有三个选择。

第一种选择是使用块try和catch处理异常:

private void catchException() {

try {

throwMeAException();

}

catch(MyException e) {

// Here we can serve only those exception that are instance of MyException

}

}

第二种选择是传递异常

private void passException() throws MyException {

throwMeAException(); // we call the method but as we throws same exception we don't need try catch block.

}

第三种选择是捕获并重新引发异常

private void catchException() throws Exception  {

try {

throwMeAException();

}

catch(Exception e) {

throw e;

}

}

继续,当您需要停止某些操作时,您可以抛出异常,该异常将通过某些try-catch块返回直到服务器无法使用。无论在何处使用引发异常的方法,都应通过try-catch块进行处理,或将声明添加到方法中。

该规则的例外是java.lang.RuntimeException那些不必声明的规则。这是异常使用方面的另一个故事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值