2014-11-09 2 views
1

here으로 설명 된 Quicklisp의 SQLite 래퍼를 사용하고 있습니다. 예를 들어 execute-non-query이 반환되지만 아무 것도 반환하지 않지만 sqlite-error 초가 걸립니다. 그러나, 나는 그들을 처리하는 방법을 잘 모르겠습니다 - 내가 말할 수있는 한, catch은 명시 적 태그가 필요하며 래퍼가 태그를 붙이는 방법을 잘 모르겠습니다.Common Lisp에서 SQLite의 오류 잡기

(if (no-error (execute-non-query *db* query-string)) 
    (do-happy-thing) 
    (report-error)) 

가 어떻게 이렇게 가겠어요 :

기본적으로, 나는 이런 식으로 뭔가를 원하십니까?

답변

3

handler-case은 (는) 친구입니다.

(handler-case 
    (progn 
     (execute-non-query *db* query-string) 
     (do-happy-thing)) 
    (sqlite-error (err) (report-error err))) ; err contains additional information 
+4

'Report-error'는 여기'do-sad-thing'이라는 이름이어야합니다. – Svante

관련 문제