001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.hayabusa.common; 017 018import org.opengion.fukurou.system.OgRuntimeException ; // 6.4.2.0 (2016/01/29) 019 020import org.opengion.fukurou.system.HybsConst; 021 022/** 023 * 共通的に使用されるエクセプションクラスです。 024 * 025 * RuntimeException を継承しているため、try{} catch() {} は不要です。 026 * 本システムでは、すべてこのエクセプションクラスを継承させたクラスを作成し、用途によって、 027 * 使い分けるようにします。つまり、他のどのような、Throwable が発生したとしても、一旦、 028 * try{} catch() {} で受けて、このクラスのサブクラスを、再度 throw させます。 029 * そして、必要であれば、try{} catch() {} を用いて捕まえて、それぞれの対応処理を行います。 030 * 031 * このクラスには、元々の発生したエクセプション( Throwable )を引数にとり、 032 * その printStackTrace()情報を、自分自身のトレース情報に含めます。 033 * また、引数にオブジェクトを渡すことができますので、object.toString() で、オブジェクトの 034 * 状態を表示できるようにしておけば、手軽にデバッグに使うことが可能になります。 035 * 036 * @og.group エラー処理 037 * @og.rev 5.6.7.1 (2013/08/09) エラーに、エンジンのバージョン等のシステム関係の情報を付与します。 038 * @og.rev 6.0.2.5 (2014/10/31) エラーに、エラー箇所の情報も与えます。 039 * @og.rev 6.4.2.0 (2016/01/29) 継承元を、RuntimeException ではなく、OgRuntimeException に変更。 040 * 041 * @version 4.0 042 * @author Kazuhiko Hasegawa 043 * @since JDK5.0, 044 */ 045public class HybsSystemException extends OgRuntimeException { 046 private static final long serialVersionUID = 642020160129L ; 047 048 // 6.4.2.0 (2016/01/29) 表示内容を変更します。 049 /** エラーメッセージに付与するシステム関係の情報 5.6.7.3 (2013/08/23) */ 050 private static final String ERR_INFO = 051 "SYSTEM_ID=[" 052 + HybsSystem.sys( "SYSTEM_ID" ) + "] : " 053 + HybsSystem.sys( "REAL_PATH" ); // C:/opengionV6/uap/webapps/gf/ 054 055 /** 056 * 詳細メッセージを指定しないで HybsSystemException を構築します。 057 * 058 * @og.rev 5.6.7.1 (2013/08/09) エラーに、エンジンのバージョン等の情報を付与します。 059 * @og.rev 6.4.2.0 (2016/01/29) 継承元が、OgRuntimeException なので、エンジンバージョンは、組み込まれます。 060 * @og.rev 8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります 061 * 062 * @see org.opengion.fukurou.system.OgRuntimeException#OgRuntimeException() 063 */ 064 public HybsSystemException() { 065 super(); // 6.0.2.5 (2014/10/31) 066// addMessage( ERR_INFO ); // 6.4.2.0 (2016/01/29) 067 msgBuf.append( ERR_INFO ).append( HybsConst.CR ); // 8.5.3.2 (2023/10/13) JDK21対応 068 069 } 070 071 /** 072 * 指定された詳細メッセージを持つ HybsSystemException を構築します。 073 * 074 * @og.rev 5.6.7.1 (2013/08/09) エラーに、エンジンのバージョン等の情報を付与します。 075 * @og.rev 6.4.2.0 (2016/01/29) 継承元が、OgRuntimeException なので、エンジンバージョンは、組み込まれます。 076 * @og.rev 8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります 077 * 078 * @param msg 詳細メッセージ 079 * @see org.opengion.fukurou.system.OgRuntimeException#OgRuntimeException(String) 080 */ 081 public HybsSystemException( final String msg ) { 082 super( msg ); 083// addMessage( ERR_INFO ); // 6.4.2.0 (2016/01/29) 084 msgBuf.append( ERR_INFO ).append( HybsConst.CR ); // 8.5.3.2 (2023/10/13) JDK21対応 085 } 086 087 /** 088 * 指定された詳細メッセージを持つ HybsSystemException を構築します。 089 * 090 * @og.rev 5.6.7.1 (2013/08/09) エラーに、エンジンのバージョン等の情報を付与します。 091 * @og.rev 6.4.2.0 (2016/01/29) 継承元が、OgRuntimeException なので、エンジンバージョンは、組み込まれます。 092 * @og.rev 8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります 093 * 094 * @param th 例外Throwableオブジェクト 095 * @see org.opengion.fukurou.system.OgRuntimeException#OgRuntimeException(Throwable) 096 */ 097 public HybsSystemException( final Throwable th ) { 098 super( th ); 099// addMessage( ERR_INFO ); // 6.4.2.0 (2016/01/29) 100 msgBuf.append( ERR_INFO ).append( HybsConst.CR ); // 8.5.3.2 (2023/10/13) JDK21対応 101 } 102 103 /** 104 * 指定されたオブジェクトを受け取る HybsSystemException を構築します。 105 * 106 * @og.rev 3.5.5.4 (2004/04/15) 引数を、RuntimeException(String , Throwable )にあわせます。 107 * @og.rev 5.6.7.1 (2013/08/09) エラーに、エンジンのバージョン等の情報を付与します。 108 * @og.rev 8.5.3.2 (2023/10/13) JDK21対応。警告: [this-escape] サブクラスが初期化される前の'this'エスケープの可能性があります 109 * 110 * @param msg 詳細メッセージ 111 * @param th 例外Throwableオブジェクト 112 * @see org.opengion.fukurou.system.OgRuntimeException#OgRuntimeException(String,Throwable) 113 */ 114 public HybsSystemException( final String msg,final Throwable th ) { 115 super( msg,th ); 116// addMessage( ERR_INFO ); // 6.4.2.0 (2016/01/29) 117 msgBuf.append( ERR_INFO ).append( HybsConst.CR ); // 8.5.3.2 (2023/10/13) JDK21対応 118 } 119}