草庐IT

EXCEPTION

全部标签

java - 没有任何 catch 语句的 Try block

我正在通读一本Java教科书中有关异常和断言的一章,并遇到了我有疑问的这段代码。publicbooleansearchFor(Stringfile,Stringword)throwsStreamException{Streaminput=null;try{input=newStream(file);while(!input.eof())if(input.next().equals(word))returntrue;returnfalse;//notfound}finally{if(input!=null)input.close();}}在下一段中,文本说“searchFor方法声明它抛

java - Optional in orElse-Branch throws Exception

这个问题在这里已经有了答案:Java8'sorElsenotworkingasexpected(1个回答)关闭6年前。所以我在使用Optionals时遇到了一个奇怪的行为。我想知道这是否真的是一个有意的“功能”或什么……奇怪……这是给定的例子:我有一个带有Optional的方法,我想在其orElse中评估另一个可选值。如果另一个Optional不存在,我将引发IllegalArgumentException:firstOptionalVar.orElse(secondOptionalVar.orElseThrow(IllegalArgumentException::new));现在,如

java - 如何在 Java 中查找潜在的未经检查的异常?

根据Java规范,Java编译器会根据“throw”语句和方法签名自动验证是否捕获了所有已检查的异常,并忽略未检查的异常。但是,有时开发人员找出可以抛出哪些未经检查的异常是有用的,例如,在开发人员倾向于期望检查异常的情况下(例如Long.parseLong),某些第3方代码可能会抛出未经检查的异常).或者开发人员可能会抛出一个未经检查的异常作为future检查异常的占位符,而忘记替换它。在这些例子中,理论上是可以找到这些未捕获的未检查异常的。在第一种情况下,Long.parseLong的签名表明它抛出NumberFormatException,而在第二种情况下,源代码是可用的,因此编译

Java 未报告的异常

这个问题在这里已经有了答案:Whatdoes"error:unreportedexception;mustbecaughtordeclaredtobethrown"meanandhowdoIfixit?(1个回答)关闭6个月前。在学习Java时,我经常遇到这个错误。它是这样的:Unreportedexceptionjava.io.FileNotFoundexception;mustbecaughtordeclaredtobethrown.java.io.FileNotFound只是一个例子,我见过很多不同的例子。在这种特殊情况下,导致错误的代码是:OutputStreamout=new

java - 将 bigint 转换为 long

我正在从数据库中获取数据。我得到classcastexception。在数据库中,我的id保存为BIGINT但在代码(对象)中它很长。将bigint转换为long时是否有任何问题? 最佳答案 您是否尝试过先将您的值转换为BigInteger,然后使用longValue()获取long值?它应该工作。aioobe是对的,还要检查空值。干杯! 关于java-将bigint转换为long,我们在StackOverflow上找到一个类似的问题: https://sta

java - 检查Java异常的定义?

我看到一个定义可以是这样的:GenerallyRuntimeExceptionsareexceptionsthatcanbepreventedprogrammatically.但这仍然不是检查异常的定义。我认为检查异常是“可以在编译时处理的异常”。这是正确的和/或你能告诉我更多吗?我也在网站上看到了这个,你能解释一下引用吗?Manypeoplesaythatcheckedexceptions(i.e.thesethatyoushouldexplicitlycatchorrethrow)shouldnotbeusedatall.Java:checkedvsuncheckedexcepti

java - 我可以将 Eclipse 设置为忽略 "Unhandled exception type"

是否可以让Eclipse忽略错误“未处理的异常类型”?在我的具体情况下,原因是我已经检查过文件是否存在。因此,我认为没有理由放入trycatch语句。file=newFile(filePath);if(file.exists()){FileInputStreamfileStream=openFileInput(filePath);if(fileStream!=null){还是我遗漏了什么? 最佳答案 IsitpossibletogetEclipsetoignoretheerror"UnhandledexceptiontypeFile

java - Note : An exception occurred while getting the Javadoc. 详见日志-eclipse

我将SWT(org.eclipse.swt.gtk.linux.x86_64_3.102.1.v20140206-1358.jar)的java文档位置添加为“http://help.eclipse.org/stable/nftopic/org.eclipse.platform.doc.isv/reference/api/”,但在那之后,当我将鼠标指针移动到编辑器上的SWT类名或方法名,它会弹出上面的消息。如何解决这个问题并获取实际的Java文档详细信息。 最佳答案 在Eclipse中执行以下操作:转到Windows->首选项。单击已

java - 抛出 RuntimeException 会导致事务回滚,但 Spring Boot 应用程序中不会出现异常

在下面的代码中,抛出一个Exception不会回滚事务,但是抛出一个RuntimeException会。@ServicepublicclassHelloService{@AutowiredprotectedCustomerRepositoryrepository;@Transactionalpublicvoidrun()throwsException{repository.save(newCustomer("Jack","Bauer"));thrownewRuntimeException("Kabooom!!!");//Transactionisrolledback.Databasei

java - 捕获多个异常并重新抛出一般异常

我正在使用反射将一些数据添加到来自第三方库的类中的私有(private)变量。在此过程中,可以抛出大约四种不同的异常;所有这些都与反射有关,而且它们都不太可能发生。我正在对所涉及的类和变量的名称进行硬编码。我不太可能收到任何未找到的类或未找到字段的错误,除非图书馆某天升级并发生重大变化。我宁愿不声明所有这四个异常让我的调用者处理。他很可能永远都见不到他们了。我只想捕获所有这些并抛出另一个异常,说“发生了Java反射错误;很可能库已经以与此方法不兼容的方式升级和更改。”我可以抛出一个标准的Java异常来指示一般反射错误吗?我应该自己定义吗?或者最好只声明此方法可以抛出所有可能的反射异常?