Bilhalrey 2022-01-06 18:12 采纳率: 0%
浏览 70

两个try可以共用一个Catch吗(java)

以下是沈泽刚Java程序设计语音第三版285页的内容

import java.io.*;
public class ArraysSerialeDemo {
public static void main(String[] args){
try{
  int[] numbers = {1,2,3,4,5};
  String [] cities ={"北京","上海","广州"};
  //序列化
  try(
    FileOutputStream output =new FileOutputStream("array.dat", true);
    ObjectOutputStream oos = new ObjectOutputStream(output);
    ){
        oos.writeObject(numbers);//将numbers数组写入文件
        oos.writeObject(cities);//将cities数组写入文件
     }catch(IOException e){
         e.printStackTrace();
     }
  //反序列化
  try(
    FileInputStream input=new FileInputStream("array.dat");
    ObjectInputStream ois =new ObjectInputStream(input);
  ){
  //读取数组对象
    int [] newNumbers =(int[])ois.readObject();
    String [] newStrings=(String[])ois.readObject();
    for(int n :newNumbers)
       System.out.print(n +" ");
    System.out.println();
    for(String s:newStrings)
       System.out.print(s+"");
   }
 }catch (ClassNotFoundException | IOException e){
    e.printStackTrace();
}
}

}
我自己运行了一下结果
1 2 3 4 5
北京上海广州

想知道为什么三个try两个catch

  • 写回答

5条回答 默认 最新

  • 俺不理解 2022-01-06 18:33
    关注

    不可以,try catch 是同级匹配,不存在平行关系。

    评论

报告相同问题?

问题事件

  • 修改了问题 1月7日
  • 创建了问题 1月6日

悬赏问题

  • ¥15 一、执行完中断程序后如何继续运行,二、中断结束后如何跳过中断触发前的点位(LOW点不要继续运行,可以运行UP点)(关键词-程序运行)
  • ¥15 if为什么跳过if 直接执行else 中文
  • ¥200 解决登录微信老版本限制封号问题
  • ¥15 mysql中时间处理问题
  • ¥20 讲解此音频放大电路原理及关键部分
  • ¥15 rtsp 转 m3u8 执行后卡在Decoding VUI
  • ¥20 微信小程序转发链接问题,已禁止转发仍能转发的场景
  • ¥15 关于#硬件架构#的问题:根据开片的IC来判断是哪一款
  • ¥15 matlab simulink
  • ¥15 rtos搭建sip协议开发包