-3

try-catch ブロックを使用して Java ConcurrentModificationException 例外を処理しようとしていますが、コードのコンパイル時に同じエラーが発生します。

import java.util.*;
public class failFast{
    public static void main(String[] args){
        Map<Integer,String> map = new HashMap<>();
        map.put(100,"Melani");
        map.put(101,"Harshika");
        map.put(102,"Nimna");

        Iterator itr = map.keySet().iterator();

        while(itr.hasNext()){
            System.out.println(itr.next());

            try{
                map.put(103,"Nirmani");
            }
            catch(Exception e){
                System.out.println("Exception is thrown "+e);
            }
            
        }

Exception in thread "main" java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextNode(Unknown Source)
        at java.util.HashMap$KeyIterator.next(Unknown Source)
        at failFast.main(failFast.java:12)
4

1 に答える 1