永远不会显示异常。
扩展Exception
类并覆盖方法toString
。然后调用它。根据条件显示hahah,但它没有显示任何内容......也没有错误。
class Excp extends Exception {
public String toString() {
return "hahah";
}
}
public class exc {
boolean a = false;
void hey() throws Excp {
if (a)
throw new Excp();
}
public static void main(String... s) {
try {
new exc().hey();
} catch (Excp e) {
System.out.println(e);
}
}
}
答案 0 :(得分:2)
这里
{
if(a)
throw new Excp();
}
A是false
。永远不要放弃条件,因为在初始化对象时你没有成功。
尝试
try
{
Excp exc = new Excp();
exc.a= true;
exc.hey();
}
旁注:
1)请遵循命名惯例。
2)提供封装。
3)始终格式化代码。
答案 1 :(得分:2)
你的病情
if(a)
因为你已经开始a=false
,将返回false。因此if
块不会执行语句
throw new Excp();
答案 2 :(得分:1)
我认为您希望使用自己的错误消息进行自定义异常,如果是这样,您可以这样做
class MyException extends Exception{
MyException(String errorMsg){
super(errorMsg);
}
}
class Test{
public static void main(String[] args){
if(someCondition)
throw new MyException("My error message");
}
}