PSQLException.java
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. package postgresql.util;
  2. import java.sql.*;
  3. import java.text.*;
  4. import java.util.*;
  5. /**
  6.  * This class extends SQLException, and provides our internationalisation handling
  7.  */
  8. public class PSQLException extends SQLException
  9. {
  10.     private String message;
  11.     
  12.     // Cache for future errors
  13.     static ResourceBundle bundle;
  14.     
  15.     /**
  16.      * This provides the same functionality to SQLException
  17.      * @param error Error string
  18.      */
  19.     public PSQLException(String error) {
  20. super();
  21. translate(error,null);
  22.     }
  23.     
  24.     /**
  25.      * A more generic entry point.
  26.      * @param error Error string or standard message id
  27.      * @param args Array of arguments
  28.      */
  29.     public PSQLException(String error,Object[] args)
  30.     {
  31. super();
  32. translate(error,args);
  33.     }
  34.     
  35.     /**
  36.      * Helper version for 1 arg
  37.      */
  38.     public PSQLException(String error,Object arg)
  39.     {
  40. super();
  41. Object[] argv = new Object[1];
  42. argv[0] = arg;
  43. translate(error,argv);
  44.     }
  45.     
  46.     /**
  47.      * Helper version for 2 args
  48.      */
  49.     public PSQLException(String error,Object arg1,Object arg2)
  50.     {
  51. super();
  52. Object[] argv = new Object[2];
  53. argv[0] = arg1;
  54. argv[1] = arg2;
  55. translate(error,argv);
  56.     }
  57.     
  58.     /**
  59.      * This does the actual translation
  60.      */
  61.     private void translate(String id,Object[] args)
  62.     {
  63. if(bundle == null) {
  64.     try {
  65. bundle = ResourceBundle.getBundle("postgresql.errors");
  66.     } catch(MissingResourceException e) {
  67.     }
  68. }
  69. // Now look up a localized message. If one is not found, then use
  70. // the supplied message instead.
  71. message = null;
  72. try {
  73.     message = bundle.getString(id);
  74. } catch(MissingResourceException e) {
  75.     message = id;
  76. }
  77. // Expand any arguments
  78. if(args!=null)
  79.     message = MessageFormat.format(message,args);
  80.     }
  81.     
  82.     /**
  83.      * Overides Throwable
  84.      */
  85.     public String getLocalizedMessage()
  86.     {
  87. return message;
  88.     }
  89.     
  90.     /**
  91.      * Overides Throwable
  92.      */
  93.     public String getMessage()
  94.     {
  95. return message;
  96.     }
  97.     
  98.     /**
  99.      * Overides Object
  100.      */
  101.     public String toString()
  102.     {
  103. return message;
  104.     }
  105.     
  106. }