Strange Exception "StreamlitAPIException"

I wrote code below. When I first run the script, it raise an StreamlitAPIException. Then I rerun streamlit, it dispear!

edited_df_types = st.data_editor(st.session_state.df_types.copy(),
                                             column_config={0: st.column_config.TextColumn('ๅ˜้‡ๅ'),
                                                            2: st.column_config.SelectboxColumn(
                                                                'ไฟฎๆ”นๅŽ็ฑปๅž‹',
                                                                options=['object', 'int', 'float',
                                                                         'datetime'],
                                                                required=True
                                                            )},
                                             key='data_dtypes')

EVEN MORE STRANGE! I use try... except... to catch the exception and run st.rerun(), then the streamlit keep refreshing all the time.

I wonder whatโ€™s the difference between st.rerun() and click rerun in the browser page and why the StreamlitAPIException comes out and dispears later