当前位置: 技术问答>java相关
一个很简单的问题,清帮忙解答一下
来源: 互联网 发布时间:2015-03-23
本文导语: 我是个初学者,还在学基础语法阶段 我对java里的throw很难理 我的书上有一段话,现抄如下: 只到这里,(try/catch)也只是捕获了java运行时间系统抛出的异常.用throw语句也可以显式地抛出一个异常,其一般形式为: ...
我是个初学者,还在学基础语法阶段
我对java里的throw很难理
我的书上有一段话,现抄如下:
只到这里,(try/catch)也只是捕获了java运行时间系统抛出的异常.用throw语句也可以显式地抛出一个异常,其一般形式为:
throw ThrowableInstance;
这里,ThrowableInstance必须是类型Throwable或其子类的一个对象.简单类型,比如int或char,以及非Throwable类,如String和Object,不能用作异常.有两种方式可以获取一个Throwable对象:使用到catch语句的参数,或者使用new算子创建一个Throwable对象.
在throw语句之后程序执行流终止,以后的任何语句都不执行.最近的try块被检查,以观察是否有一个catch语句与该类型的异常匹配.如果不匹配,下一个try语句被检查.如果没有找到一个匹配的catch,却省得异常处理器将终止程序,并打印出堆栈.
下面又一个例子:
import java.awt.Graphics;
class ThrowDemo extends java.applet.Applet
{
static void demoProc(){
try{
throw new NullPointerException("异常演示");
}catch(NullPointerException e){
System.out.println("在demoProc中发生异常");
throw e;
}
}
public void paint(Graphics g)
{
try{
demoProc();
}catch(NullPointerException e){
g.drawString("捕获到异常:"+e,25,50);
}
}
}
请问throw new NullPointerException这里是什么意思?是创建一个Throwable吗?
请解释一下
throw的作用到底是什么?
"这段代码的编译流程是怎样的?throw语句之后程序执行流终止,以后的任何语句都不执行",是指那个地方开始不执行呢?
我对java里的throw很难理
我的书上有一段话,现抄如下:
只到这里,(try/catch)也只是捕获了java运行时间系统抛出的异常.用throw语句也可以显式地抛出一个异常,其一般形式为:
throw ThrowableInstance;
这里,ThrowableInstance必须是类型Throwable或其子类的一个对象.简单类型,比如int或char,以及非Throwable类,如String和Object,不能用作异常.有两种方式可以获取一个Throwable对象:使用到catch语句的参数,或者使用new算子创建一个Throwable对象.
在throw语句之后程序执行流终止,以后的任何语句都不执行.最近的try块被检查,以观察是否有一个catch语句与该类型的异常匹配.如果不匹配,下一个try语句被检查.如果没有找到一个匹配的catch,却省得异常处理器将终止程序,并打印出堆栈.
下面又一个例子:
import java.awt.Graphics;
class ThrowDemo extends java.applet.Applet
{
static void demoProc(){
try{
throw new NullPointerException("异常演示");
}catch(NullPointerException e){
System.out.println("在demoProc中发生异常");
throw e;
}
}
public void paint(Graphics g)
{
try{
demoProc();
}catch(NullPointerException e){
g.drawString("捕获到异常:"+e,25,50);
}
}
}
请问throw new NullPointerException这里是什么意思?是创建一个Throwable吗?
请解释一下
throw的作用到底是什么?
"这段代码的编译流程是怎样的?throw语句之后程序执行流终止,以后的任何语句都不执行",是指那个地方开始不执行呢?
|
throw new NullPointerException 就是 生成了一个NullPointerException 并 throw(抛出)
throw one Exception 后自然就catch 到了,就执行 System.out.println("在demoProc中发生异常"
throw语句之后程序执行流终止,以后的任何语句都不执行,即throw下面的语句都不被执行(如果有 在try的括号内)
throw one Exception 后自然就catch 到了,就执行 System.out.println("在demoProc中发生异常"
throw语句之后程序执行流终止,以后的任何语句都不执行,即throw下面的语句都不被执行(如果有 在try的括号内)