Newer
Older
dub_jkp / source / dub / internal / sdlang / exception.d
@Sönke Ludwig Sönke Ludwig on 9 Jun 2015 756 bytes Add latest sdlang-d sources.
  1. // SDLang-D
  2. // Written in the D programming language.
  3.  
  4. module dub.internal.sdlang.exception;
  5.  
  6. version (Have_sdlang_d) public import sdlang.exception;
  7. else:
  8.  
  9. import std.exception;
  10. import std.string;
  11.  
  12. import dub.internal.sdlang.util;
  13.  
  14. abstract class SDLangException : Exception
  15. {
  16. this(string msg) { super(msg); }
  17. }
  18.  
  19. class SDLangParseException : SDLangException
  20. {
  21. Location location;
  22. bool hasLocation;
  23.  
  24. this(string msg)
  25. {
  26. hasLocation = false;
  27. super(msg);
  28. }
  29.  
  30. this(Location location, string msg)
  31. {
  32. hasLocation = true;
  33. super("%s: %s".format(location.toString(), msg));
  34. }
  35. }
  36.  
  37. class SDLangValidationException : SDLangException
  38. {
  39. this(string msg) { super(msg); }
  40. }
  41.  
  42. class SDLangRangeException : SDLangException
  43. {
  44. this(string msg) { super(msg); }
  45. }