我目前正在学习如何正确执行自定义异常的过程,偶然发现了一个问题。每当我尝试利用引发此自定义异常的类的对象时,IDE的调试器(我使用的是IntelliJ想法)都会说“未处理的异常:InsertExceptionName()”。代码以简化的方式看起来像这样。在这种情况下,如果随机生成的数字<0.5,它将返回一个异常,否则返回一个数字,但不会这样做。我想念什么?
public class main {
public static void main(String[] args) {
double x=Math.random();
operation op=new operation();
op.execute(x);
}
}
--
public class operation {
public operation() {
}
public double execute(double x) throws RandomWeirdException {
if(x<0.5) {
throw new RandomWeirdException("<0.5");
}
return x;
}
}
--
public class RandomWeirdException extends Exception{
public RandomWeirdException() {
super();
}
public RandomWeirdException(String message) {
super(message);
}
}
您是什么意思“返回”异常?引发异常时,它将使调用堆栈冒泡。
在这种情况下,您将无法处理它。它到达main
,因此您有一个未处理的异常。
如果要处理异常,可以使用一个try-catch
块。main
在这种情况下最好包围。
try {
// Code that might throw
// an exception.
} catch (Exception e) {
// Handle it.
}
另一个解决方案是指定它main
抛出“ RandomWeirdException
”,而不是catch
首先抛出。
public static void main(String[] args) throws RandomWeirdException { ... }
最好只让函数运行throw
,除非您可以合理地处理特殊情况。如果您只是catch
为了在异常情况下不做任何有意义的事情而进行捕获,那等效于有时隐藏一个错误。
我主要是为技术精明的人编写一个小工具,例如程序员、工程师等,因为这些工具通常是快速的,随着时间的推移,我知道会有未处理的异常,用户不会介意。我希望用户能够向我发送回溯,这样我就可以检查发生了什么,并可能改进应用程序。 我通常做wxPython编程,但我最近做了一些Java。我已经将
问题内容: 如果我在.NET中没有记错的话,可以为未处理的异常注册“全局”处理程序。我想知道Java是否有类似的东西。 问题答案: 是的,有,但只有在没有设置时才会触发。
本文向大家介绍Java 中的异常处理?相关面试题,主要包含被问及Java 中的异常处理?时的应答技巧和注意事项,需要的朋友参考一下 Java异常类层次结构图 在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类。Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大
问题内容: 我正在开发一个Android应用,该应用必须将json格式的Java对象保存到SQLite数据库中。我为此操作编写了代码,然后他们必须提取Json对象并将其重新转换为Java对象。当我尝试调用将json对象反序列化为字符串的方法时,我在Android Studio中发现此错误: 当我尝试捕获程序运行但不反序列化json对象时。 这是该方法的代码: 你能帮我吗? 问题答案: 是的,您需要
我正在学习spring.io教程。有一个函数是这样的:
我正在使用Java的executor服务特性。我想了解设计视角。 如果其中一批出现问题,最好的处理方法是什么? 我正在创建固定线程池, 此外,我正在使用invokeall()调用所有返回未来对象的可调用对象。 我的设想是 > 我有1000条来自xml文件的记录,我想保存到DB中。我创建了10个批次,每个批次包含100条记录。 批次开始处理(例如batch1、batch2、batch3…batch1