草庐IT

try-except-block

全部标签

java - 在 try block 中捕获的未经检查的异常不是 Java 中的已检查异常吗?

有人告诉我,在Java中,uncheckedexception可以在tryblock中捕获,但是如果捕获到了,那不就叫checkedexception吗? 最佳答案 未经检查的异常是不需要在try-catchblock中捕获的异常。未经检查的异常是RuntimeException的子类或Error类。检查异常是需要在try-catchblock中捕获的异常。已检查和未检查异常的定义可以在Section11.2:Compile-TimeCheckingofExceptions中找到。的TheJavaLanguageSpecificat

java - 为什么java ArrayIndexOutOfBound Exception Extends IndexOutofBound Exception not Throwable?

我对ExceptionwithInheritance有疑问。为什么公共(public)类ArrayIndexOutOfBoundsException扩展IndexOutOfBoundsException然后公共(public)类IndexOutOfBoundsException扩展了RuntimeException然后公共(public)类RuntimeException扩展异常为什么不公共(public)类ArrayIndexOutOfBoundsException扩展异常为什么要保持这种层次结构。任何指导都会有帮助吗? 最佳答案

java - 关于 Java 中的静态和非静态初始化 block

我本来以为静态block是针对静态变量的,但是编译器让A和B都能编译运行,怎么回事?AprivatestaticfinalMapm=newHashMap();{m.put("why","does");m.put("this","work");}BprivatestaticfinalMapm=newHashMap();static{m.put("why","does");m.put("this","work");}运行System.out.println(Main.m.toString());打印A{}但是对B运行同样的操作会以Yoda语言打印出来{this=work,why=does}

java - 同步对 Volatile 字段的写入访问(廉价读写 block )

假设我有以下类(class),将大量阅读,但只是偶尔写。它将在多线程网络应用程序中使用,因此需要线程安全:publicclassFoo{privatevolatileStringfoo;publicStringgetFoo(){returnfoo;}publicsynchronizedStringsetFoo(Stringin){this.foo=in;}}Java并发(http://www.ibm.com/developerworks/java/library/j-jtp06197/index.html)声明这是一种脆弱的方式来保护写访问,同时提高读访问。什么是这种模式的更强大的替代

java - 好奇 : Why is the "throws <SomeSpecific>Exception" syntax required in Java alone?

我们都知道它是必需的。但是为什么仅在Java中需要它,而其他具有异常处理能力的类似语言不需要我们编写“throwsException”?有没有人知道在设计Java语言时发生了什么以及为什么要这样做?只是好奇。附言这可能不是一个实际或真正必要的问题-它可能对我正在进行的项目无论如何都没有帮助。但是某些语言特性激起了我的好奇心:D编辑看来我的问题很含糊!我想我错误地表达了这个问题。在处理Java代码的编程过程中,我们需要在某些时候使用“throwsException”类语法。但是在C#或C++甚至VB.Net和PHP中从来不需要类似的东西。那么为什么只有Java坚持这样做呢?

java - Spring 框架 : instantiation exception

我是SpringFramework的新手,所以我决定买一本书(“Springinaction”第3版)。目前我在第一章,涵盖基础知识-依赖注入(inject)(DI)和面向方面的编程(AOP)。我设法运行了显示DI的代码。1#knight实现的接口(interface)packagecom.springinaction.knights;publicinterfaceKnight{voidembarkOnQuest()throwsQuestException;}1#骑士等级packagecom.springinaction.knights;publicclassBraveKnightim

java - 理解 try catch finally 及其返回值

我有以下一段代码。publicstaticvoidmain(String[]args){System.out.println(returnString());}privatestaticStringreturnString(){try{System.out.println("Executingtry");return"Returntryvalue";}catch(Exceptione){System.out.println("ExecutingCatch");return"Returncatchvalue";}finally{System.out.println("Executingf

java - eclipse:用 if 包围 block

在eclipse中我们可以用try/catch包围一段代码。我想用if语句包围一段代码。有没有快捷键。选择代码块后按Ctrl+1没有提示用If包围。 最佳答案 突出显示代码块,按Alt+Shift+Z,然后选择if(3)。 关于java-eclipse:用if包围block,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/13172310/

Java 同步块(synchronized block)与 concurrentHashMap 与 Collections.synchronizedMap

假设如果有一个同步方法并且在该方法中,我会像这样更新一个hashmap:publicsynchronizedvoidmethod1(){myHashMap.clear();//populatethehashmap,takesabout5seconds.}现在当method1正在运行并且hashmap正在重新填充时,如果有其他线程试图获取hashmap的值,我假设它们会被阻止?现在不使用sync方法,如果我像下面这样将hashmap更改为ConcurrentHashMap,会有什么行为?publicvoidmethod1(){myConcurrentHashMap.clear();//p

java - 在 Java 中捕获 Scala 中抛出的异常 - 无法访问的 catch block

斯卡拉doesn'thave检查异常。但是,当从java调用scala代码时,最好捕获scala抛出的异常。斯卡拉:deff()={//dosomethingthatthrowsSomeException}Java:try{f()}catch(SomeExceptione){}javac不喜欢这样,并提示“这个异常永远不会从try语句体中抛出”有没有办法让scala声明它抛出一个已检查的异常? 最佳答案 使用throws注解:@throws(classOf[SomeException])deff()={//dosomethingth