本文将为您提供关于php–PDO异常未被捕获的详细介绍,我们还将为您解释php捕获错误的相关知识,同时,我们还将为您提供关于网站是php的框架symfony2开发的,用php7.2.14的老是报pdo
本文将为您提供关于php – PDO异常未被捕获的详细介绍,我们还将为您解释php捕获错误的相关知识,同时,我们还将为您提供关于 网站是php 的框架 symfony2开发的 ,用php7.2.14 的老是报pdo异常 非常奇怪、AngularJS:由于服务和模块依赖性而未被捕获的对象、c – 为什么win32计时器回调中抛出的未处理异常未被调试器视为未处理的异常?、c# – F10键未被捕获的实用信息。
本文目录一览:- php – PDO异常未被捕获(php捕获错误)
- 网站是php 的框架 symfony2开发的 ,用php7.2.14 的老是报pdo异常 非常奇怪
- AngularJS:由于服务和模块依赖性而未被捕获的对象
- c – 为什么win32计时器回调中抛出的未处理异常未被调试器视为未处理的异常?
- c# – F10键未被捕获
php – PDO异常未被捕获(php捕获错误)
Fatal error: Uncaught exception 'PDOException' with message 'sqlSTATE[42000]: ...
我使用以下函数进行PDO查询:
/************************************************************************************************************** * Function: makeQuery * * Desc: Makes a PDO query. * * Pre conditions: The statement/query and an array of named parameters (may be empty) must be passed. * * Post conditions: The PDO query is executed. Exceptions are caught,displayed,and page execution stopped. * **************************************************************************************************************/ function makeQuery($stmt,$array,$errMsg = '') { try { $stmt->execute($array); } catch (PDOException $e) { print $errMsg != ''?$errMsg:"Error!: " . $e->getMessage() . "<br/>"; die(); } }
知道为什么没有被捕获的例外吗?
编辑:这是我创建PDO对象的方式:
function createPDO() { // MysqL connection details $dbhost = ''; $dbuser = ''; $dbpass = ''; $dbname = ''; try { $db = new PDO("MysqL:$dbhost=localhost;dbname=$dbname;charset=utf8",$dbuser,$dbpass,array(PDO::ATTR_EMULATE_PREPARES => false,PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } return $db; }
解决方法
另一个选择是定义一个全局异常处理程序,然后只询问抛出的异常行和&文件来自:
http://php.net/manual/en/function.set-exception-handler.php
function exception_handler($exception) { echo "Uncaught exception: " . $exception->getMessage() . PHP_EOL; echo "In file: " . $exception->getFile() . PHP_EOL; echo "On line: " . $exception->getLine() . PHP_EOL; } set_exception_handler('exception_handler');
编辑:
经过OP的一些对话后,我现在确定PDOStatement :: prepare的调用是抛出异常的地方,因此我建议另一个包装函数到库中:
function prepareStmt(PDO $oPdo,$sstmt,array $aDriverOptions=array()) { try { return $oPdo->prepare($sstmt,$aDriverOptions); } catch(PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } }
网站是php 的框架 symfony2开发的 ,用php7.2.14 的老是报pdo异常 非常奇怪
网站是php 的框架 symfony2开发的 ,用php7.2.14 的老是报pdo异常 非常奇怪。南京大学考研真题
AngularJS:由于服务和模块依赖性而未被捕获的对象
angular.module('maps-services',[]) .service('MapService',[$log,function($log) { this.initMap = function() { } this.updateMap = function() { } }]); I also have a 'maps' module depending on 'maps-services' as below: angular.module('maps',[ 'maps-services' ]);
当我在另一个模块中依赖’maps’时,我收到一条未被捕获的对象错误消息:
“[$injector:nomod]模块’ngLocale’不可用!您拼错了模块名称或忘记加载它.如果注册模块,请确保将依赖项指定为第二个参数.
http://errors.angularjs.org/1.3.0-beta.11/ $喷油器/ NOMOD?P0 = ngLocale”
我不明白发生了什么以及如何调试模块加载以更好地了解问题所在.
请你帮助我好吗 ?
问候.
解决方法
此异常消息让我想起80年代编译器抛出的错误消息.
基本上当Angular抛出时:
Module ‘ngLocale’ is not available!
这意味着:
One of your modules wasn’t loaded (but not ngLocale).
有关详细信息,请参阅this和this.
现在为什么你的模块没有加载,或者它是什么模块,你可以解决.在我的情况下,有这个
angular.module( 'treeDemoApp' )
而不是这个
angular.module( 'treeDemoApp',[] )
足以让Angular抛出这个消息.但你的代码清楚地有[].
Chrome Bug?
有一些建议(1,2),这是由于chrome中的错误.
c – 为什么win32计时器回调中抛出的未处理异常未被调试器视为未处理的异常?
我写了以下程序来演示这个问题:
#include "stdafx.h" #include <Windows.h> class FooExcept { }; VOID CALLBACK Timer(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime) { printf("Here\n"); throw FooExcept(); printf("Also Here\n"); } int _tmain(int argc,_TCHAR* argv[]) { SetTimer(0,1000,Timer); int bRet; HWND hWnd; MSG msg; // Standard Win32 message pump while( (bRet = GetMessage( &msg,NULL,0 )) != 0) { if (bRet == -1) { // handle the error and possibly exit } else { TranslateMessage(&msg); dispatchMessage(&msg); } } return 0; }
此程序到Visual Studio输出窗口的输出是重复的:
First-chance exception at 0x76dbb9bc in TimerTest.exe: Microsoft C++ exception: FooExcept at memory location 0x0034f743..
当然,我的项目更加复杂,并且正在向调试器打印出大量的TRACE信息.第一次机会异常很容易在输出中丢失.
然而
那不是我关心的问题.这显然是一个例外,我没有处理. Windows是否偷偷地决定为我处理这个问题?为什么?如果没有,为什么不给我一个明确的弹出窗口警告我未处理的异常?这样的弹出窗口可以节省我几天的调试时间.
XP / VS 2008和Win7 / VS 2010之间的这种行为似乎是一致的.
解决方法
在文章http://support.microsoft.com/kb/976038中,您将找到一个错误修正的提及,并解释如何使用它来禁用此行为.你必须要么:
>在注册表中设置流程选项或
>调用kernel32.dll导出的函数SetProcessusermodeExceptionPolicy
我在Updates in Win7 and WS08R2 SP1.xls中验证过这个错误修复确实包含在Windows 7 Service Pack 1中,因此您所要做的就是启用它(假设您已经安装了Windows 7 SP1).
至于解释为什么这样做,我们可以猜测一些不明智的尝试,以防止遗留应用程序以向后兼容性的名义崩溃.
c# – F10键未被捕获
有人可以告诉我如何找到原因吗?
最诚挚的问候,托马斯
解决方法
今天关于php – PDO异常未被捕获和php捕获错误的介绍到此结束,谢谢您的阅读,有关 网站是php 的框架 symfony2开发的 ,用php7.2.14 的老是报pdo异常 非常奇怪、AngularJS:由于服务和模块依赖性而未被捕获的对象、c – 为什么win32计时器回调中抛出的未处理异常未被调试器视为未处理的异常?、c# – F10键未被捕获等更多相关知识的信息可以在本站进行查询。
本文标签: