Java程序的输出 |设置 44(抛出关键字)
先决条件:投掷
1. 以下程序的输出是什么?
class Geeks throws ArithmeticException {
public
static void main(String[] args) throws ArithmeticException
{
System.out.printl(10 / 0);
System.out.println("Hello Geeks");
}
}
选项:
1.你好极客
2. 无输出
3. 运行时异常
4.编译时错误
输出:
The answer is option (4)
说明:在上面的程序中,我们从类中抛出 ArithmeticException。但是当我们使用 throws 关键字时,我们必须注意约定,我们可以将 throws 关键字用于方法和构造函数,但不能用于类。
2. 以下程序的输出是什么?
class Geeks {
public
static void main(String[] args) throws Geeks
{
Thread.sleep(10000);
System.out.println("Hello Geeks");
}
}
选项:
1.你好极客
2.编译时错误
3. 无输出
4. 运行时异常
输出:
The answer is option (2)
说明:我们只能对 throwable 类型使用 throws 关键字。如果我们尝试用于普通的Java类,那么我们将收到编译时错误,提示类型不兼容。
3. 下面程序的输出是什么?
class Test {
void m1() throws ArithmeticException
{
throw new ArithmeticException("Calculation error");
}
void m2() throws ArithmeticException
{
m1();
}
void m3()
{
try {
m2();
}
catch (ArithmeticException e) {
System.out.println("ArithmeticException");
}
}
public
static void main(String args[])
{
Test t = new Test();
t.m3();
System.out.println("Handled by Geeks");
}
}
选项:
1.计算错误
2.算术异常
3. 由极客处理
4. Geeks 处理的 ArithmeticException
输出:
The answer is option (4)
说明:如您所见,我们在 m1() 方法中发生了异常,该异常已在链调用方法 m3() 中处理。
4. 以下程序的输出是什么?
class Test {
void Div() throws ArithmeticException
{
int a = 25, b = 0, rs;
rs = a / b;
System.out.print("\n\tThe result is : " + rs);
}
public
static void main(String[] args)
{
Test t = new Test();
try {
t.Div();
}
catch (ArithmeticException e) {
System.out.print("\n\tError : " + e.getMessage());
}
System.out.print("\n\tBYE GEEKS");
}
}
选项:
1. 再见极客
2.编译时错误
3.错误:/由零
4.错误:/为零
再见极客
输出:
The answer is option (4)
说明:在上面的程序中,Div() 方法抛出了一个 ArithmeticException,因此,我们在 try-catch 块中编写了 Div() 方法的调用语句。
5. 以下程序的输出是什么?
class Test {
public
static void main(String[] args)
{
fun();
}
public
static void fun()
{
moreFun();
}
public
static void moreFun() throws InterruptedException
{
Thread.sleep(10000);
System.out.println("GEEKS");
}
}
选项:
1.极客
2. 无输出
3.编译时错误
4. 运行时异常
输出:
The answer is option (3)
说明:在上面的程序中,我们从可能引发异常的方法中抛出 InterruptedException。但是我们会得到编译时错误,说 error: unreported exception InterruptedException;必须被捕获或声明为抛出,因为 moreFun() 方法由 fun() 方法调用,而 fun() 方法由 main() 方法调用。这就是为什么我们必须为每个调用者使用 throws 关键字。