eval 捕获dbi错误
[root@dr-mysql01 ~]# cat t2.pl
use DBI;
my $dbUser='zabbix';
my $user="root";
my $passwd="1234567";
my $TABLE_NAME='history_uint';
my $date='201605';
my $dbh = DBI->connect("dbi:mysql:database=zabbix;host=192.168.32.55;port=3306",$user,$passwd,{RaiseError => 1}) or die "can't connect to database ". DBI-errstr;
my $hostSql = qq{select TABLE_NAME,PARTITION_NAME from INFORMATION_SCHEMA.PARTITIONS where TABLE_NAME='$TABLE_NAME' and PARTITION_NAME like "p$date%";};
print "\$hostSql is $hostSql\n";
my ($a1, $a2);
#if ($a1){
my $selStmt = $dbh->prepare($hostSql);
$selStmt->execute();
$selStmt->bind_columns(undef, \$a1,\$a2);
print "\$a1 is $a1\n";
print "\$a2 is $a2\n";
print $selStmt->fetch();
print "\n";
eval {$selStmt->fetch()};
print "\$@ is $@\n";;
print "\n";
[root@dr-mysql01 ~]# perl t2.pl
$hostSql is select TABLE_NAME,PARTITION_NAME from INFORMATION_SCHEMA.PARTITIONS where TABLE_NAME='history_uint' and PARTITION_NAME like "p201605%";
$a1 is
$a2 is
ARRAY(0x2324778)
$@ is [root@dr-mysql01 ~]# cat t2.pl
use DBI;
my $dbUser='zabbix';
my $user="root";
my $passwd="1234567";
my $TABLE_NAME='history_uint';
my $date='201604';
my $dbh = DBI->connect("dbi:mysql:database=zabbix;host=192.168.32.55;port=3306",$user,$passwd,{RaiseError => 1}) or die "can't connect to database ". DBI-errstr;
my $hostSql = qq{select TABLE_NAME,PARTITION_NAME from INFORMATION_SCHEMA.PARTITIONS where TABLE_NAME='$TABLE_NAME' and PARTITION_NAME like "p$date%";};
print "\$hostSql is $hostSql\n";
my ($a1, $a2);
#if ($a1){
my $selStmt = $dbh->prepare($hostSql);
$selStmt->execute();
$selStmt->bind_columns(undef, \$a1,\$a2);
print "\$a1 is $a1\n";
print "\$a2 is $a2\n";
print $selStmt->fetch();
print "\n";
eval {$selStmt->fetch()};
print "\$@ is $@\n";;
print "\n";
[root@dr-mysql01 ~]# perl t2.pl
$hostSql is select TABLE_NAME,PARTITION_NAME from INFORMATION_SCHEMA.PARTITIONS where TABLE_NAME='history_uint' and PARTITION_NAME like "p201604%";
$a1 is
$a2 is DBD::mysql::st fetch failed: fetch() without execute() at t2.pl line 19.
$@ is DBD::mysql::st fetch failed: fetch() without execute() at t2.pl line 19.
eval 捕获dbi错误的更多相关文章
- eval 捕获错误
eval 捕获错误: [root@dr-mysql01 ~]# cat t1.pl use DBI; my $dbUser='zabbix'; my $user="root"; m ...
- 捕获JS 错误日志
最近在做项目的过程中,发现很多JS报错没有引起重视,我就想想把JS错误捕获了,然后展示在我们一个平台上 具体实现代码: window.onerror = function(message, url, ...
- C/C++捕获段错误,打印出错的具体位置(精确到哪一行)
修订:2013-02-16 其实还可以使用 glibc 的 backtrace_symbols 函数,把栈帧各返回地址里面的数字地址翻译成符号描述的 修订:2011-06-11 背景知识: · 在li ...
- C/C++捕获段错误,打印出错的具体位置(精确到哪一行)_转
转自:C/C++捕获段错误,打印出错的具体位置(精确到哪一行) 修订:2013-02-16 其实还可以使用 glibc 的 backtrace_symbols 函数,把栈帧各返回地址里面的数字地址翻译 ...
- struts2完全捕获404错误的方法
目前在做一个网络应用程序,struts2 + spring + hibernate,服务器是tomcat.希望用户在IE地址栏乱敲的时候,所敲入的所有未定义的URL都能被程序捕捉到,然后转到一个自制的 ...
- 使用Application_Error捕获站点错误并写日志
Global.ascx页面使用以下方法即可捕获应用层没有try cath的错误 protected void Application_Error(Object sender, EventArgs e) ...
- 利用Backtrace来捕获段错误堆栈信息
具体参考文档:https://blog.csdn.net/gatieme/article/details/84189280 测试Demo: #include <execinfo.h> #i ...
- Travis CI eval ./gradlew assemble 错误
问题 在进行 Travis CI 进行集成编译的时候出现错误. <-------------> 0% WAITINGThe command "eval ./gradlew ass ...
- 使用flow捕获js错误提高代码质量
本文将介绍Flow及其主特性.下面分别从如何安装设置,如何添加类型注释,如何在运行时自动去掉注释等方面来介绍. 安装 目前Flow兼容的操作系统有Mac OS X,Linux(64位),Windows ...
随机推荐
- POJ2069 最小球体覆盖, 模拟退火
只是套了个模板,模拟退火具体的过程真心不懂阿 //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #in ...
- POJ 1279 Art Gallery 半平面交求多边形核
第一道半平面交,只会写N^2. 将每条边化作一个不等式,ax+by+c>0,所以要固定顺序,方便求解. 半平面交其实就是对一系列的不等式组进行求解可行解. 如果某点在直线右侧,说明那个点在区域内 ...
- MessageBox不能前置显示的问题
在MFC的开发中,经常会遇到一些莫名奇妙的问题,可能是经验不足的原因吧. 进入正题....在手头的项目中,用MFC做的界面应用.在某一天突然发现程序界面不能进行响应,经过反复的调试后发现:Messag ...
- Ruby学习-第一章
第一章 字符串,数字,类和对象 为了证明Ruby真的好用,hello world也能写的如此简洁: puts 'hello world' 1.输入/输出 print('Enter your name' ...
- Java For循环效率试验
非常奇怪的结果! ..! 测试方法如以下 public class Main { public static void main(String[] args){ long ti = System.cu ...
- 获取sdcard和内存的存储空间
package com.example.sdcardspace; import java.io.File; import android.os.Bundle; import android.os.En ...
- ACM第二次比赛( C )
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description Vanya ...
- 一、Python-----之变量
1.变量存在的意义就是在程序中存储一些临时的数据.2.程序运行的时候回调用变量的临时数据. 变量起名规则: 变量名只能是字符.数字或下划线的任意组合 变量名的第一个字符不能是数字 以下关键字不能声明为 ...
- RESTful最佳实践之基于 jersey 的增删改查
jersey-rest-demo 增删改查 项目地址:https://github.com/CoderDream/jersey-rest-demo 源代码:http://download.csdn.n ...
- Linux解压乱码
.向系统添加windows下的字符编码: sudo vim /var/lib/locales/supported.d/local 添加一下编码: zh_CN.GBK GBK zh_CN.GB2312 ...