2010-06-06 4 views
12

Ruby 예외 계층 구조에서 ArgumentError와 같은 "오류"가 있으며 SignalException과 같은 "예외"가 있음을 발견했습니다. 예외를 명명하는 연습이 있습니까? 미리 감사드립니다.Ruby 예외 또는 오류?

+1

http://stackoverflow.com/questions/912334/differences-betweeen-exception-and-error에는 루비가 아닌 다른 언어에도 예외 및 오류의 차이점에 대한 설명이 잘 나와 있습니다. –

+0

감사합니다. – Ell

답변

8

the list of Ruby exceptions을 보면 인 SignalException 만 있습니다. 그 외 모든 것은 XXXError입니다 (SystemExitfatal 제외). 어떤 것이 든 연습은 예외를 FooError으로 명명하는 것입니다. SignalException의 이름이 SignalError이 아닌 구체적인 이유를 찾는 데 문제가 있습니다.

5

신청서로 인해 발생하는 모든 사항에 대해 대회는 Module::#{Type}Error입니다 (예 : http://weblog.jamisbuck.org/2007/3/7/raising-the-right-exception). 예외 모델은 언어 수준에 따라 다르므로 Ruby에서의 예외 처리는 Java에서와 같은 방법으로 계층화되지 않습니다.

필자가 본 바로는 관습이 C/FFI/JNA 확장에 좀 더 느슨하게 적용됩니다.