首页 \ 问答 \ 如果catch和finally块都抛出异常,会发生什么?(What happens if both catch and finally blocks throw exception?)

如果catch和finally块都抛出异常,会发生什么?(What happens if both catch and finally blocks throw exception?)

如果catch和finally块都抛出异常,会发生什么?


What happens if both catch and finally blocks throw exception?


原文:https://stackoverflow.com/questions/1482395
更新时间:2023-05-31 15:05

最满意答案

JAVA程序能够顺利编译需要两个环境变量,一个是PATH(path),一个是CLASSPATH(classpath)。那么这两个环境变量代表什么呢?或者说究竟在JAVA程序编译中有什么作用呢?这就要涉及到WINDOWS的基本知识了。在WINDOWS环境中,每一条能用的指令都保存在硬盘的“某个角落”,比如说指令NOTEPAD(WINDOWS的记事本指令,在C: WINNT目录下),那么在DOS命令提示符下直接输入NOTEPAD就可以打开记事本了。但是一旦我们把C:WINNT目录下的NOTEPAD.EXE 这个可执行文件移开(比如说我们现在把它“剪切”到D盘根目录下)我们再在DOS提示符下直接输入NOTEPAD时就无法再打开记事本了,但是我们在DOS下改变路径输入 D:NOTEPAD(或者先输入cd D: 在输入NOTEPAD也行)就可以打开记事本了。这就是说在我们直接输入NOTEPAD的时候,其实其默认路径就是C:WINN。假设我们要运行一个JAVA程序(hello.java)就要先把它的class文件移动到JAVA里的bin目录下然后打开DOS,把路径改到JAVA的BIN目录下执行java hello.class,一次无所谓但是每次都要这样去做未免太麻烦。还好WINDOWS提供了一个PATH环境变量,他的作用就是现在这个变量的值路径中去找,如果找到了要运行的EXE就运行,否则失败。如果我们把JAVA里的bin目录这个路径赋给path那么下次我在运行java这个命令的时候,即便是直接输入DOS也能够在path变量中找到JAVA的bin目录下的java指令了。
下面说说,classpath环境变量。不知道各位注意到没有,我上面说的那句话——“假设我们要运行一个JAVA程序(hello.java)就要先把它的class文件移动到JAVA里的bin目录下”,为什么要这样做呢?因为我们在用到java hello.class这条指令的时候,DOS不知道hello.class这个文件在哪里,他就先到当前目录中去找,如果找到就运行,否则失败。当然,如果说hello.java在D盘根目录下,你也可以用java D:hello.class这条指令来运行,但是每次这样做也确实够麻烦。WINDOWS就提供了这样一个环境变量——classpath,如果没有就应该新建一个。我们把D:这个路径赋值给classpath,那么下次在运行java hello.java的时候就先在当前目录中到,如果找到就运行,如果找不到就在classpath的值路径下去找,找到就运行,找不到就失败。
以上阐述了path和classpath两个环境变量的作用,如果设置好了。java的编译和运行就基本上没什么问题了。至于有些书上说的环境变量javahome初学阶段可以暂时不管它。
 2、如何设置环境变量?
 JDK的环境变量的设置只需要两个环境变量:一个是path,另一个是:class_path。 path用于指定操作系统的可执行命令的路径;class_path用于制定Java的类文件存放路径。我们在“我的电脑”右击选择“属性”,在“属性”选项卡中选择“高级”,最下面就是“环境变量”和“错误报告”。我们点击“环境变量”,进入“环境变量”设置对话框。在这里,上面显示的是当前用户的变量,下面的是所有使用这台机器的用户均可用的变量(系统变量),我们在“系统变量”中新建两个变量,一个名为path,另一个名为:class_path(大小写均可)。然后,把 path的值设置为你的JDK安装目录的bin目录的路径和bin目录下的jre文件夹下的bin目录的路径添加到变量值中就可以了,两个路径中间用 “;”(半角的分号,两边的双引号是为了强调,并非实际添加内容)。而class_path的值则为JDK安装目录下的jre目录下的lib文件夹的路径。下面举例说明:
 我的JDK的安装路径为C:Program FilesJavajdk1.5.0_06,那么,我要为path设置的变量值就是:C:Program FilesJavajdk1.5.0_06in;C:Program FilesJavajdk1.5.0_06jrein(注意中间用半角分号隔开)。而class_path的值则为:.;C:Program FilesJavajdk1.5.0_06jrelib。这里要注意的就是在这个路径之前一定要注意加上半角的句点和半角的分号。

相关问答

更多
  • 依次点击:“我的电脑”-(右键)“属性”-“高级”-“环境变量”,弹出Windows的“环境变量”配置卡。 在“系统变量”栏下执行三项操作: ①新建“Java_Home”,值:JDK所在的绝对路径(例如 D:\Program Files\Java\jdk1.5.0_04)。 ②新建“Classpath”(如果已有,则直接编辑),值: .;%Java_Home%\lib (若值中原来有内容,用分号与之隔开)。 ③新建“Path”(如果已有,则直接编辑),值: %Java_Home%\bin; (若值中原来有内 ...
  • java环境变量设置: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 3. 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的 ...
  • JAVA程序能够顺利编译需要两个环境变量,一个是PATH(path),一个是CLASSPATH(classpath)。那么这两个环境变量代表什么呢?或者说究竟在JAVA程序编译中有什么作用呢?这就要涉及到WINDOWS的基本知识了。在WINDOWS环境中,每一条能用的指令都保存在硬盘的“某个角落”,比如说指令NOTEPAD(WINDOWS的记事本指令,在C: WINNT目录下),那么在DOS命令提示符下直接输入NOTEPAD就可以打开记事本了。但是一旦我们把C:WINNT目录下的NOTEPAD.EXE 这个 ...
  • 呃。。设置环境变量是在命令行里运行的时候才能用的到的 没配置的时候你在命令行里输入java会出现java不是内部火外部命令。。。。 如果你不想配置的话的话,必须先在命令行里把你的目录定位到jdk的bin目录下。 才能编译和运行你的程序。eclipse这样的工具需要也是找到jdk的安装路径。所以才能运行的。
  • 你按下面的步骤就可以设置了。步骤如下: 1.首先,打开配置环境变量界面,如下操作:我的电脑---属性---高级---环境变量 2.系统变量(S)中配置如下: 2.1,新建系统变量: 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.5.0_17(该目录为JDK安装的目录) 2.2,编辑CLASSPATH,如果没有该变量则新建, 变量名:CLASSPATH 变量值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注:该 ...
  • 关于jdk环境变量的设置问题给你一个文档, 1.安装j2sdk以后,需要配置一下环境变量,右击我的电脑->属性->高级->环境变量->用户变量中单击[新建(N)]添加以下环境变量(假定你的j2sdk安装在D:\Program Files\Java\jdk1.5.0_10) (为了不出错,最好是找到J2SDK的安装目录,全部打开一直找到并打开jdk1.5.0_10这个文件夹,然后直接复制文件的地址(D),这个文件地址就是JAVA_HOME变量值如“D:\Program Files\Java\jdk1.5.0 ...
  • 补充一下: 其中path环 境变 量是指OS查找或执行的应用程序的路径,就是用来指出javac.exe,java.exe等所在的位置 而classpath环 境变 量的作用在于当Java虚拟机在当前目录下查找或运行.class字节码文件,如果没有找到就在classpath环 境变 量中设置的路径中去找,并且以最先找到的为准。 这下明白了吧!!! JAVA中常用需要设置的三个环 境变量: 1. JAVA_HOME=x:\jdk1.6.0 JAVA_HOME 2. 用%JAVA_HOME%就可以取代:x:\jd ...
  • JAVA程序能够顺利编译需要两个环境变量,一个是PATH(path),一个是CLASSPATH(classpath)。那么这两个环境变量代表什么呢?或者说究竟在JAVA程序编译中有什么作用呢?这就要涉及到WINDOWS的基本知识了。在WINDOWS环境中,每一条能用的指令都保存在硬盘的“某个角落”,比如说指令NOTEPAD(WINDOWS的记事本指令,在C: WINNT目录下),那么在DOS命令提示符下直接输入NOTEPAD就可以打开记事本了。但是一旦我们把C:WINNT目录下的NOTEPAD.EXE 这个 ...
  • 环境变量设置[2022-11-27]

    环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。
  • Windows下JAVA环境变量的设置祥解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。 JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXX\xxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx…… 那么,下面的步骤和以后的应用你都要受累了 ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。