본문 바로가기

Developing/HTML5

드라코니언 에러 처리 - HTML5 여담

고대 그리스의 7현인 중에 한명으로서, 솔론이 있다. 본문에서 말하고자 하는 드라코는 솔론 이전의 그리스 집정관이었다. 그런 드라코는 사소한 법률 위반에 대해서도 사형을 선고한 것으로 유명하다. 그래서, 그런 드라코의 법은 '잉크로 쓴 것이 아니고 피로 쓴 법(Laws written not with ink but with blood)'으로 불려졌다. 어떻게 그렇게 법이 가혹할수 있냐는 사람들의 질문에 드라코는 다음과 같이 대답했다고 한다. "작은 범죄에는 사형이 적당한데, 더 큰 범죄는 더한 형벌이 없어서 어쩔수 없다네" (Small ones deserve that, and I have no higher for the greater crimes)".
 프로그래밍에서는 이런 방식을 이용한 에러처리방식을 드라코니언 에러 처리 라고 한다. 코드에 에러가 하나라도 발견되면 선택의 여지없이 처리를 중단하고 에러 표시하는 것을 말한다. 즉 에러가 발생하는 순간 실패하는 개념을 말한다. 그렇다면 이런 드라코니언 에러 처리가 이슈가 되었던건 어디에서 였을까?
 W3C가 HTML5 이전에 집중했던 XHTML에선 이런 드라코니언 에러 처리를 채택했다. 기존의 HTML은 작은 에러가 있다해도 무시하고 브라우져에 나타낼 수 있었다. 하지만 이렇게 에러를 무시한 결과, 개발자들은 명확하게 HTML 을 작성하기 보다는 에러 투성이의 웹 페이지를 양산해냈다. 그래서 W3C에서는 그런 문법에 어긋난 웹페이지를 없애고자 XHTML에서는 드라코니언 에러처리를 채택한것이다. 결과는 어땠을까? 대다수의 웹개발자들은 이런 드라코니언 에러처리를 무시했다. 왜냐하면 관대한 HTML 파서 덕분이었다. 결과적으로 드라코니언 에러 처리는 XHMTL이 녹아들지 못하게 하는데 일조 했다고 할 수 있다.

'Developing > HTML5' 카테고리의 다른 글

HTML5 : Geolocation API #2  (0) 2011.02.24
HTML5 : Geolocation API #1  (0) 2011.01.05
HTML5의 5가지 보안 위협  (0) 2010.12.28