如何在Java中抛出异常,尝试下面的代码,但它引发了编译错误
class Demo{
public static void main(String args[]) {
throw new Exception("This is not allowed");
}
}
答案 0 :(得分:3)
Exception
,则不能抛出 RuntimeException
及其子类(除了throws Exception
及其子类)。
您需要将主要声明为
public static void main(String[] args) throws Exception {
或代替Exception
,抛出RuntimeException
(或其子类)。
答案 1 :(得分:0)
Exception
表示需要更改程序流程的异常事件或情况。
关键字try
,catch
,throw
,throws
,finally
有助于修改计划流程。
一个简单的想法是Exception
被抛出从它们出现或被发现的位置,被抓住它们将被处理的位置。这允许程序执行突然跳转,从而实现修改的程序流程。
必须有人能够抓住它,否则抛出它是不对的。这是导致错误的原因。您没有指定例外处理的方式或位置,并将其抛向空中。
直接处理
class Demo{
public static void main(String args[]) {
try { // Signifies possibility of exceptional situation
throw new Exception("This is not allowed"); // Exception is created
// and thrown
} catch (Exception ex) { // Here is how it can be handled
// Do operations on ex (treated as method argument or local variable)
}
}
}
强迫其他人处理
class Demo{
public static void main(String args[]) throws Exception { // Anyone who calls main
// will be forced to do
// it in a try-catch
// clause or be inside
// a method which itself
// throws Exception
throw new Exception("This is not allowed");
}
}
希望这有帮助