내 프로그램에 일부 지속성을 추가하기 위해 쉘브 모듈을 사용하고 있습니다. 처음에 나는이 선반의 기본 bsddb 데이타를 사용했지만, 난이 다음 함수로 변경했고, 그 후 예외를 변경하면 발생합니다 것 같다예외 파이썬 2.6에서 쉘브 모듈을 사용하는 동안 RuntimeError
Exception RuntimeError: 'maximum recursion depth exceeded in __subclasscheck__' in <type 'exceptions.AttributeError'> ignored
어떤 whichdb 호출하여 anydbm 모듈에서 제기 된 (그리고 잡힐) 수 .
아무런 문제가 없으며 문제없이 코드가 완료되지만 다소 좋지 않습니다. 지금까지 내가 경고 모듈을 사용하여 인쇄를 억제 할 수 있다는 것을 알고 있지만, 예외를 완전히 제거하고 싶습니다.
다른 장소 (그들은 pylint, django 및 다른 모듈/패키지에서 발생 함)에서 비슷한 문제를 겪고 있었으며 어디서나 "버그"로 표시되는 것으로 보입니다. 누군가가 anydbm/shelve 모듈에서 이러한 동작에 대한 해결책을 찾았습니까?
edit1. 데프 getattr (자기, ATTR) : 반환 getattr (self.config, ATTR)
나는 선반에 다른를 래핑하는 클래스를 저장하기 위해 노력하고있어 는이 오류를 일으키는 일이 있음을 발견 클래스 - 그 이유는 getattr 함수가 재정의됩니다. 그것을 작성하고 무한 루프를 얻을 수있는 방법이 있습니까?
(이처럼 보이는)이 도서관에서 이런 경우를, 그것은 저자가 알려주는 가치가있다. 버그 일 수 있겠지? 즉 재귀 한계가 결코 충족되지 않는다는 것을 완전히 확신하지 않고 파이썬에서 재귀를 구현해서는 안됩니다. –
그래, 그건 사실이야. 나는 아직도이 버그를 해결할 방법을 찾고있다. RuntimeError 예외 인쇄를 억제 할 수 있는지 알고 계십니까? warnings 모듈이 작동하지 않습니다 (경고가 아니기 때문에 예외 임). 그리고 저는 여기 꽤 당황합니다. 나는 프로그램의 사용자가 제품을 출시 할 때마다 예외를보고 싶어한다고 생각하지 않는다. – p4r4noj4