如何在Java中的自定义异常中设置我自己的消息,可以检索我的getMessage()但是没有使用构造函数,有什么办法吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Java中的自定义异常中设置我自己的消息,可以检索我的getMessage()但是没有使用构造函数,有什么办法吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1839字,纯文字阅读大概需要3分钟。
内容图文
![如何在Java中的自定义异常中设置我自己的消息,可以检索我的getMessage()但是没有使用构造函数,有什么办法吗?](/upload/InfoBanner/zyjiaocheng/762/12538eb0f542493a942b7d3995e32c24.jpg)
我刚学习Java中的异常处理.我想知道的不是尝试说:
throw new Exception("My Message");
和
String message=ex.getMessage();
System.out.println(message);
看看下面的代码,
class ExceptionTest {
public static void main(String[] args) {
ExceptionTest t1=new ExceptionTest();
try {
t1.riskyMethod();//call the risky or exception throwing method
} catch(MyException myex) {
System.out.println("Exception has been thrown");
String message=myex.getMessage();//get the String passed during exception call
System.out.println("The message retrieved is "+message);
myex.printStackTrace();//prints name of exception and traces the function call stack
}
}//main ends
void riskyMethod() throws MyException {//a method that can throw an excpetion
int rand=(int)(Math.random()*10);///Math.rand return 0 to .9 range value
if(rand>5) {
//throw new MyException(); or try this
// MyException myexception=new MyException();
// myexception.setMessage("HI THIS IS A SAMPLE MESSAGE");
String mymessage="Sample Exception Message...";
throw new MyException(mymessage);
}
else
System.out.println("No exception");
}
}//Exception class ends
虽然这很好,我想知道我是否可以避免调用超级(消息)等
并在我的子类MyException中设置一些变量’message’,它更改在调用exception.getMessage()时检索到的消息
换句话说,存储传递给构造函数的消息字符串的字符串变量的名称是什么,我可以手动设置它,是最终的还是私有的,如果有的话,有任何setter方法.对不起,我试过,但我只是一个初学者,无法浏览API
解决方法:
不,没有办法手动设置消息,但是你可以只使用自己的变量并覆盖getMessage()方法
例:
public class MyException extends Exception{
public String message;
public MyException(String message){
this.message = message;
}
// Overrides Exception's getMessage()
@Override
public String getMessage(){
return message;
}
// Testing
public static void main(String[] args){
MyException e = new MyException("some message");
System.out.println(e.getMessage());
}
}
内容总结
以上是互联网集市为您收集整理的如何在Java中的自定义异常中设置我自己的消息,可以检索我的getMessage()但是没有使用构造函数,有什么办法吗?全部内容,希望文章能够帮你解决如何在Java中的自定义异常中设置我自己的消息,可以检索我的getMessage()但是没有使用构造函数,有什么办法吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。