@@ -208,44 +208,38 @@ def assertMetadataNotEqual(self, e1, e2):
208208
209209class  TestExceptStarSplitSemantics (ExceptStarTest ):
210210    def  doSplitTestNamed (self , exc , T , match_template , rest_template ):
211-         initial_exc_info  =  sys .exc_info ()
212-         exc_info  =  match  =  rest  =  None 
211+         initial_sys_exception  =  sys .exception ()
212+         sys_exception  =  match  =  rest  =  None 
213213        try :
214214            try :
215215                raise  exc 
216216            except* T  as  e :
217-                 exc_info  =  sys .exc_info ()
217+                 sys_exception  =  sys .exception ()
218218                match  =  e 
219219        except  BaseException  as  e :
220220            rest  =  e 
221221
222-         if  match_template :
223-             self .assertEqual (exc_info [1 ], match )
224-         else :
225-             self .assertIsNone (exc_info )
222+         self .assertEqual (sys_exception , match )
226223        self .assertExceptionIsLike (match , match_template )
227224        self .assertExceptionIsLike (rest , rest_template )
228-         self .assertEqual (sys .exc_info (), initial_exc_info )
225+         self .assertEqual (sys .exception (), initial_sys_exception )
229226
230227    def  doSplitTestUnnamed (self , exc , T , match_template , rest_template ):
231-         initial_exc_info  =  sys .exc_info ()
232-         exc_info  =  match  =  rest  =  None 
228+         initial_sys_exception  =  sys .exception ()
229+         sys_exception  =  match  =  rest  =  None 
233230        try :
234231            try :
235232                raise  exc 
236233            except* T :
237-                 exc_info  =  sys .exc_info ()
238-                 match  =  sys .exc_info ()[1 ]
234+                 sys_exception  =  match  =  sys .exception ()
239235            else :
240236                if  rest_template :
241237                    self .fail ("Exception not raised" )
242238        except  BaseException  as  e :
243239            rest  =  e 
244240        self .assertExceptionIsLike (match , match_template )
245-         if  match_template :
246-             self .assertEqual (exc_info [0 ], type (match_template ))
247241        self .assertExceptionIsLike (rest , rest_template )
248-         self .assertEqual (sys .exc_info (), initial_exc_info )
242+         self .assertEqual (sys .exception (), initial_sys_exception )
249243
250244    def  doSplitTestInExceptHandler (self , exc , T , match_template , rest_template ):
251245        try :
@@ -409,11 +403,11 @@ def test_multiple_matches_unnamed(self):
409403        try :
410404            raise  ExceptionGroup ("mmu" , [OSError ("os" ), BlockingIOError ("io" )])
411405        except* BlockingIOError :
412-             e  =  sys .exc_info ()[ 1 ] 
406+             e  =  sys .exception () 
413407            self .assertExceptionIsLike (e ,
414408                ExceptionGroup ("mmu" , [BlockingIOError ("io" )]))
415409        except* OSError :
416-             e  =  sys .exc_info ()[ 1 ] 
410+             e  =  sys .exception () 
417411            self .assertExceptionIsLike (e ,
418412                ExceptionGroup ("mmu" , [OSError ("os" )]))
419413        else :
@@ -434,7 +428,7 @@ def test_first_match_wins_unnamed(self):
434428        try :
435429            raise  ExceptionGroup ("fstu" , [BlockingIOError ("io" )])
436430        except* OSError :
437-             e  =  sys .exc_info ()[ 1 ] 
431+             e  =  sys .exception () 
438432            self .assertExceptionIsLike (e ,
439433                ExceptionGroup ("fstu" , [BlockingIOError ("io" )]))
440434        except* BlockingIOError :
@@ -452,7 +446,7 @@ def test_nested_except_stars(self):
452446                pass 
453447            else :
454448                self .fail ("Exception not raised" )
455-             e  =  sys .exc_info ()[ 1 ] 
449+             e  =  sys .exception () 
456450            self .assertExceptionIsLike (e ,
457451                 ExceptionGroup ("n" , [BlockingIOError ("io" )]))
458452        else :
@@ -766,7 +760,7 @@ def test_raise_unnamed(self):
766760            try :
767761                raise  orig 
768762            except* OSError :
769-                 e  =  sys .exc_info ()[ 1 ] 
763+                 e  =  sys .exception () 
770764                raise  TypeError (3 ) from  e 
771765        except  ExceptionGroup  as  e :
772766            exc  =  e 
@@ -821,7 +815,7 @@ def test_raise_handle_all_raise_one_unnamed(self):
821815            try :
822816                raise  orig 
823817            except* (TypeError , ValueError ) as  e :
824-                 e  =  sys .exc_info ()[ 1 ] 
818+                 e  =  sys .exception () 
825819                raise  SyntaxError (3 ) from  e 
826820        except  ExceptionGroup  as  e :
827821            exc  =  e 
@@ -882,10 +876,10 @@ def test_raise_handle_all_raise_two_unnamed(self):
882876            try :
883877                raise  orig 
884878            except* TypeError :
885-                 e  =  sys .exc_info ()[ 1 ] 
879+                 e  =  sys .exception () 
886880                raise  SyntaxError (3 ) from  e 
887881            except* ValueError :
888-                 e  =  sys .exc_info ()[ 1 ] 
882+                 e  =  sys .exception () 
889883                raise  SyntaxError (4 ) from  e 
890884        except  ExceptionGroup  as  e :
891885            exc  =  e 
@@ -982,7 +976,7 @@ def derive(self, excs):
982976
983977
984978class  TestExceptStarCleanup (ExceptStarTest ):
985-     def  test_exc_info_restored (self ):
979+     def  test_sys_exception_restored (self ):
986980        try :
987981            try :
988982                raise  ValueError (42 )
@@ -997,7 +991,7 @@ def test_exc_info_restored(self):
997991
998992        self .assertExceptionIsLike (exc , ZeroDivisionError ('division by zero' ))
999993        self .assertExceptionIsLike (exc .__context__ , ValueError (42 ))
1000-         self .assertEqual (sys .exc_info (), ( None ,  None ,  None ) )
994+         self .assertEqual (sys .exception (), None )
1001995
1002996
1003997class  TestExceptStar_WeirdLeafExceptions (ExceptStarTest ):
0 commit comments