Sfoglia il codice sorgente

添加默认异常处理

visuddhinanda 4 anni fa
parent
commit
0f7c2af121
2 ha cambiato i file con 19 aggiunte e 10 eliminazioni
  1. 7 1
      app/fts/sql.php
  2. 12 9
      app/install/db_insert_templet_cli.php

+ 7 - 1
app/fts/sql.php

@@ -8,6 +8,12 @@ require_once __DIR__."/../config.php";
  *
  */
 
+set_exception_handler(function($e){
+	fwrite(STDERR,"error-msg:".$e->getMessage().PHP_EOL);
+	fwrite(STDERR,"error-file:".$e->getFile().PHP_EOL);
+	fwrite(STDERR,"error-line:".$e->getLine().PHP_EOL);
+	exit;
+});
 
 function is_pali_word ($str) {
   $pali_word_exp = "/^[āīūṅñṭḍṇḷṃṁŋĀĪŪṄÑṬḌṆḶṂṀŊabcdefghijklmnoprstuvyABCDEFGHIJKLMNOPRSTUVY-]+$/";
@@ -76,7 +82,7 @@ function count_bld ($bld_array) {
 
 $dns = _DB_ENGIN_.":host="._DB_HOST_.";port="._DB_PORT_.";dbname="._DB_NAME_.";user="._DB_USERNAME_.";password="._DB_PASSWORD_.";";
 $dbh_fts = new PDO($dns, _DB_USERNAME_, _DB_PASSWORD_, array(PDO::ATTR_PERSISTENT => true));
-$dbh_fts->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
+$dbh_fts->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
 // 查找 tmp/palicsv/ 目录下的语料数据
 $palicsv_path = __DIR__.'/../../tmp/palicsv/';

+ 12 - 9
app/install/db_insert_templet_cli.php

@@ -5,6 +5,12 @@
 require_once __DIR__."/../config.php";
 require_once __DIR__.'/../public/_pdo.php';
 
+set_exception_handler(function($e){
+	fwrite(STDERR,"error-msg:".$e->getMessage().PHP_EOL);
+	fwrite(STDERR,"error-file:".$e->getFile().PHP_EOL);
+	fwrite(STDERR,"error-line:".$e->getLine().PHP_EOL);
+	exit;
+});
 
 echo "Insert templet to DB".PHP_EOL;
 
@@ -24,7 +30,7 @@ if ($_to > 217) {
 
 #pg
 define("_DB_", _DB_ENGIN_.":host="._DB_HOST_.";port="._DB_PORT_.";dbname="._DB_NAME_.";user="._DB_USERNAME_.";password="._DB_PASSWORD_.";");
-define("_TABLE_","wbw_templates");
+define("_TABLE_","wbw_template");
 
 
 $filelist = array();
@@ -86,12 +92,8 @@ for ($from=$_from; $from <=$_to ; $from++) {
 	#删除目标数据库中数据
 	$query = "DELETE FROM "._TABLE_." WHERE book = ?";
 	$stmt = $dbh->prepare($query);
-	try{
-		$stmt->execute(array($from));
-	}catch(PDOException $e){
-		fwrite(STDERR,$e->getMessage());
-		continue;
-	}
+	$stmt->execute(array($from));
+
 
 	echo "delete ".PHP_EOL;
 
@@ -126,8 +128,9 @@ for ($from=$_from; $from <=$_to ; $from++) {
 						try{
 							$stmt->execute($params);
 						}catch(PDOException $e){
-							fwrite(STDERR,$e->getMessage());
-							fwrite(STDERR,implode(",",$params));
+							fwrite(STDERR,$e->getMessage().PHP_EOL);
+							fwrite(STDERR,implode(",",$params).PHP_EOL);
+							fwrite(STDERR,$e->getLine().PHP_EOL);
 							break;
 						}
 				}