java – 捕获异常并返回自定义消息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 捕获异常并返回自定义消息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2243字,纯文字阅读大概需要4分钟。
内容图文
![java – 捕获异常并返回自定义消息](/upload/InfoBanner/zyjiaocheng/724/fa5baa0e2b6b4531905f6aa0b601b894.jpg)
所以我正在做一些学校作业,如果满足我的“if”语句之间的条件,我必须抛出异常.
public class Fibonacci {
private static final long MAX = 91;
public static long finonacciGetal(int n) {
if (n > MAX || n < 0) throw new FibonacciException();
else {
long eerste = 0;
long tweede = 1;
long getal = 0;
for (int i = 0; i < n; i++) {
getal = eerste + tweede;
eerste = tweede;
tweede = getal;
}
return getal;
}
}
}
现在我做了一个自定义异常,它返回一条错误消息,但它仍然保持打印出栈跟踪.那么有没有办法将它从Exception类本身隐藏起来?因为如果我使用try-catch块它会不断出现返回值的问题,因为赋值使用了局部变量.该程序应该在抛出1个异常后停止
提前致谢!
编辑:根据要求我的自定义例外
public class FibonacciException extends ArithmeticException {
public FibonacciException() {
super();
System.out.println("Max value surpassed");
}
}
解决方法:
这样做的确是使用try catch块,并且因为你提到变量都是本地的,你可能只需将它们放在try catch块之外.
编辑
所以,现在我对这个问题有了更详细的了解.我想我明白混乱的来源.如果你得到一个高于你的最大值的迭代,你会被告知抛出一个异常,这是一个很好的方法,但现在你需要一种方法来处理这个异常项.
所以,让我们拿你原来的代码:
public class Fibonacci {
private static final long MAX = 91;
public static long finonacciGetal(int n) {
if (n > MAX || n < 0) throw new FibonacciException();
else {
long eerste = 0;
long tweede = 1;
long getal = 0;
for (int i = 0; i < n; i++) {
getal = eerste + tweede;
eerste = tweede;
tweede = getal;
}
return getal;
}
}
}
这很好,真的.现在,如果你看一下抛出异常的情况,你的局部变量中没有任何值被计算出来,这很好,因为这个异常意味着有人试图使用这个方法的值超出范围你允许的.确保正在使用此类的人处理异常的一种方法是在方法声明中添加throws子句,如下所示:
public class Fibonacci {
private static final long MAX = 91;
public static long finonacciGetal(int n) throws FibonacciException {
if (n > MAX || n < 0) throw new FibonacciException();
else {
long eerste = 0;
long tweede = 1;
long getal = 0;
for (int i = 0; i < n; i++) {
getal = eerste + tweede;
eerste = tweede;
tweede = getal;
}
return getal;
}
}
}
这样,当有人去使用它(例如,主要)时,如此:
public static void main(String[] args) {
try{
System.out.println(new Fibonacci().fibonacciGetal(92));
}catch(FibonacciException e){
System.out.println(e.getMessage());
}
}
你会注意到你必须在使用它的方法中使用try / catch,这是处理这些情况的正确方法.
内容总结
以上是互联网集市为您收集整理的java – 捕获异常并返回自定义消息全部内容,希望文章能够帮你解决java – 捕获异常并返回自定义消息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。