1、创建Exception对象
按照与创建Java对象一样的方法创建违例对象:在内存“堆”里,使用new来创建。
举例:
if
(t
==
null
)
throw new NullPointerException();
throw new NullPointerException();
这样便“掷”出了一个违例。在当前场景中,它使我们能放弃进一步解决该问题的企图。
该问题会被转移到其他更恰当的地方解决。准确地说,那个地方不久就会显露出来。
2、printStackTrace()、toString()、getMessage()的区别
- public void printStackTrace()
将此 throwable 及其追踪输出至标准错误流。
此方法将此 Throwable或Exception 对象的堆栈跟踪输出至错误输出流,作为字段 System.err 的值。
输出的第一行包含此对象的 toString() 方法的结果。剩余行表示以前由方法 fillInStackTrace() 记录的数据。
输出格式举例:
java.lang.NullPointerException
at MyClass.mash(MyClass.java: 9 )
at MyClass.crunch(MyClass.java: 6 )
at MyClass.main(MyClass.java: 3 )
使用举例:
try ... {
//Java程序代码
}
catch (Exception e) ... {
e.printStackTrace();
} - public String getMessage()
返回此 Throwable或Exception 的详细消息字符串。
使用举例:
try ... {
//java程序代码
}
catch (Exception e) ... {
System.out.println();
}
返回此 Throwable或Exception 的简短描述。
如果此 Throwable或Exception 对象是利用非空详细消息字符串创建的,则结果是三个字符串的串联:
1)此对象的实际类的名称
2)": "(冒号和空格)
3)此对象的 getMessage() 方法的结果
如果此 Throwable或Exception 对象利用 null 详细消息字符串创建,则返回此对象的实际类的名称。 使用举例:try ... {
//Java程序代码
}
catch (Exception e) .. {
System.err.println(e.toString());
}