java异常

<span style="font-size:18px;">下述程序段,哪些程序编译通不过

程序段1
import java.io.*;
public class ExceptionTest{
        public static void main(String[] args){
                try{
                        test();
                }catch(Exception ex){
                        //ex.printStackTrace();
                        System.out.println("main");
                }
        }
        static void test(){
                try{
                        throw new Exception("test");
                }catch(Exception ex){
                        ex.printStackTrace();
                        System.out.println("test");
                }
        }
}
</span>

程序段2:

<span style="font-size:18px;">import java.io.*;
public class ExceptionTest{
        public static void main(String[] args){
                try{
                        test();
                }catch(Exception ex){
                        //ex.printStackTrace();
                        System.out.println("main");
                }
        }
        static void test(){
            
               throw new Exception("test");
        
        }
}
</span>
程序段3:

<span style="font-size:18px;">import java.io.*;
public class ExceptionTest{
        public static void main(String[] args){
                try{
                        test();
                }catch(Exception ex){
                        //ex.printStackTrace();
                        System.out.println("main");
                }
        }
        static void test() throws Exception{

                        throw new Exception("test");
        
        }
}
</span>

程序段4

<span style="font-size:18px;">import java.io.*;
public class ExceptionTest{
        public static void main(String[] args){
                try{
                        test();
                }catch(Exception ex){
                        ex.printStackTrace();
                        System.out.println("main");
                }
        }
        static void test() throws Exception{
        }
}
</span>

程序段5

import java.io.*;
public class ExceptionTest{
        public static void main(String[] args){
                test();
        }
        static void test(){
                try{
                        throw new Exception("test");
                }catch(Exception ex){
                        ex.printStackTrace();
                        System.out.println("test");
                }
        }
}


程序段2编译通不过:

ExceptionTest.java:13: 错误: 未报告的异常错误Exception; 必须对其进行捕获或声明以便抛出
			throw new Exception("test");
			^
1 个错误

throw:抛出异常

throws:声明异常


1、抛出异常而在本程序段中没有捕获的话,必须有声明异常语句,如:程序段3

2、抛出异常而在本程序段中将其捕获,则不需要声明异常

3、只要声明了异常,就必须捕获,而不管是否真的抛出异常。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值