首页 > 开发 > PHP > 正文

php异常处理方法实例汇总

2024-05-04 23:36:49
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php异常处理方法,实例汇总了常见的php异常处理技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php异常处理方法。分享给大家供大家参考。具体如下:

 

 
  1. <?php  
  2. $path = "D://in.txt";  
  3. try //检测异常  
  4. {  
  5. file_open($path);  
  6. }  
  7. catch(Exception $e//捕获异常  
  8. {  
  9. echo $e->getMessage();  
  10. }  
  11.  
  12. function file_open($path)  
  13. {  
  14. if(!file_exists($path)) 
  15. //如果文件无法找到,抛出异常对象  
  16. {  
  17. throw new Exception("文件无法找到", 1);  
  18. }  
  19. if(!fopen($path"r")) 
  20. //如果文件无法打开,抛出异常对象  
  21. {  
  22. throw new Exception("文件无法打开", 2);  
  23. }  
  24. }  
  25. ?>  

 

 
  1. <?php  
  2. $path = "D://in.txt"
  3. //文件所在路径  
  4. file_open($path); 
  5. //调用file_open函数  
  6.  
  7. function file_open($path)  
  8. {  
  9. if(!file_exists($path)) 
  10. //如果文件无法找到,抛出异常对象  
  11. {  
  12. throw new Exception("文件无法找到", 1);  
  13. }  
  14. if(!fopen($path"r")) 
  15. //如果文件无法打开,抛出异常对象  
  16. {  
  17. throw new Exception("文件无法打开", 2);  
  18. }  
  19. }  
  20. ?>  
  1. <?php  
  2. function exception_handler($e
  3. //用于处理异常的函数  
  4. {  
  5. echo "未捕获的异常:".$e->getMessage();  
  6. }  
  7.  
  8. set_exception_handler("exception_handler"); 
  9. //设置异常处理函数  
  10. try //检测异常  
  11. {  
  12. $path = "D://in.txt";  
  13. }  
  14. catch(Exception $e//捕获异常  
  15. {  
  16. echo $e->getMessage();  
  17. }  
  18. file_open($path); //调用函数打开文件  
  19. function file_open($path)  
  20. {  
  21. if(!file_exists($path)) 
  22. //如果文件无法找到,抛出异常对象  
  23. {  
  24. throw new Exception("文件无法找到", 1);  
  25. }  
  26. if(!fopen($path"r")) 
  27. //如果文件无法打开,抛出异常对象  
  28. {  
  29. throw new Exception("文件无法打开", 2);  
  30. }  
  31. }  
  32. ?>  

 

  1. <?php  
  2. $path = "D://in.txt";  
  3.  
  4. try 
  5. {  
  6. file_open($path); //尝试打开文件  
  7. }  
  8. catch(Exception $e)  
  9. {  
  10. echo "异常信息:".$e->getMessage()."/n"
  11. //返回用户自定义的异常信息  
  12. echo "异常代码:".$e->getCode()."/n"
  13. //返回用户自定义的异常代码  
  14. echo "文件名:".$e->getFile()."/n"
  15. //返回发生异常的PHP程序文件名  
  16. echo "异常代码所在行".$e->getLine()."/n"
  17. //返回发生异常的代码所在行的行号  
  18. echo "传递路线:";  
  19. print_r($e->getTrace()); 
  20. //以数组形式返回跟踪异常每一步传递的路线  
  21. echo $e->getTraceAsString(); 
  22. //返回格式化成字符串的getTrace函数信息  
  23. }  
  24. function file_open($path)  
  25. {  
  26. if(!file_exists($path)) 
  27. //如果文件不存在,则抛出错误  
  28. {  
  29. throw new Exception("文件无法找到", 1);  
  30. }  
  31.  
  32. if(!fopen($path"r"))  
  33. {  
  34. throw new Exception("文件无法打开", 2);  
  35. }  
  36. }  
  37. ?>  

 

 
  1. <?php  
  2. class FileExistsException extends Exception{} 
  3. //用于处理文件不存在异常的类  
  4. class FileOpenException extends Exception{} 
  5. //用于处理文件不可读异常的类  
  6. $path = "D://in.txt";  
  7. try 
  8. {  
  9. file_open($path);  
  10. }  
  11. catch(FileExistsException $e
  12. //如果产生FileExistsException异常则提示用户确认文件位置  
  13. {  
  14. echo "程序在运行过程中发生了异常:".$e->getMessage()."/n";  
  15. echo "请确认文件位置。";  
  16. }  
  17. catch(FileOpenException $e
  18. //如果产生FileOpenException异常则提示用户确认文件的可读性  
  19. {  
  20. echo "程序在运行过程中发生了异常:".$e->getMessage()."/n";  
  21. echo "请确认文件的可读性。";  
  22. }  
  23. catch(Exception $e)  
  24. {  
  25. echo "[未知异常]";  
  26. echo "异常信息:".$e->getMessage()."/n"
  27. //返回用户自定义的异常信息  
  28. echo "异常代码:".$e->getCode()."/n"
  29. //返回用户自定义的异常代码  
  30. echo "文件名:".$e->getFile()."/n"
  31. //返回发生异常的PHP程序文件名  
  32. echo "异常代码所在行".$e->getLine()."/n"
  33. //返回发生异常的代码所在行的行号  
  34. echo "传递路线:";  
  35. print_r($e->getTrace()); 
  36. //以数组形式返回跟踪异常每一步传递的路线  
  37. echo $e->getTraceAsString(); 
  38. //返回格式化成字符串的getTrace函数信息  
  39. }  
  40. function file_open($path)  
  41. {  
  42. if(!file_exists($path))  
  43. {  
  44. throw new FileExistsException("文件无法找到", 1); 
  45. //抛出FileExistsException异常对象  
  46. }  
  47.  
  48. if(!fopen($path"r"))  
  49. {  
  50. throw new FileOpenException("文件无法打开", 2); 
  51. //抛出FileOpenException异常对象  
  52.  
  53. }  
  54. }  
  55. ?>  

 

 
  1. <?php  
  2. class FileExistsException extends Exception{} 
  3. //用于处理文件不存在异常的类  
  4. class FileOpenException extends Exception{} 
  5. //用于处理文件不可读异常的类  
  6. $path = "D://in.txt";  
  7. try 
  8. {  
  9. file_open($path); //尝试打开文件  
  10. }  
  11. catch(Exception $e)  
  12. {  
  13. echo "[未知异常]";  
  14. echo "异常信息:".$e->getMessage()."/n"
  15. //返回用户自定义的异常信息  
  16. echo "异常代码:".$e->getCode()."/n"
  17. //返回用户自定义的异常代码  
  18. echo "文件名:".$e->getFile()."/n"
  19. //返回发生异常的PHP程序文件名  
  20. echo "异常代码所在行".$e->getLine()."/n"
  21. //返回发生异常的代码所在行的行号  
  22. echo "传递路线:";  
  23. print_r($e->getTrace()); 
  24. //以数组形式返回跟踪异常每一步传递的路线  
  25. echo $e->getTraceAsString(); 
  26. //返回格式化成字符串的getTrace函数信息  
  27. }  
  28. catch(FileExistsException $e
  29. //如果产生FileExistsException异常则提示用户确认文件位置  
  30. {  
  31. echo "程序在运行过程中发生了异常:".$e->getMessage()."/n";  
  32. echo "请确认文件位置。";  
  33. }  
  34. catch(FileOpenException $e
  35. //如果产生FileOpenException异常则提示用户确认文件的可读性  
  36. {  
  37. echo "程序在运行过程中发生了异常:".$e->getMessage()."/n";  
  38. echo "请确认文件的可读性。";  
  39. }  
  40. function file_open($path)  
  41. {  
  42. if(!file_exists($path)) 
  43. //如果文件不存在,则输出错误  
  44. {  
  45. throw new FileExistsException("文件无法找到", 1);  
  46. }  
  47.  
  48. if(!fopen($path"r"))  
  49. {  
  50. throw new FileOpenException("文件无法打开", 2);  
  51. }  
  52. }  
  53. ?>  

 

 
  1. <?php  
  2. class FileExistsException extends Exception{} 
  3. //用于处理文件不存在异常的类  
  4. class FileOpenException extends Exception{} 
  5. //用于处理文件不可读异常的类  
  6. $path = "D://in.txt";  
  7. try 
  8. {  
  9. file_open($path);  
  10. }  
  11. catch(FileExistsException $e
  12. //如果产生FileExistsException异常则提示用户确认文件位置  
  13. {  
  14. echo "程序在运行过程中发生了异常:".$e->getMessage()."/n";  
  15. echo "请确认文件位置。";  
  16. }  
  17. catch(FileOpenException $e
  18. //如果产生FileOpenException异常则提示用户确认文件的可读性  
  19. {  
  20. echo "程序在运行过程中发生了异常:".$e->getMessage()."/n";  
  21. echo "请确认文件的可读性。";  
  22. }  
  23. catch(Exception $e)  
  24. {  
  25. echo "[未知异常]";  
  26. echo "异常信息:".$e->getMessage()."/n"
  27. //返回用户自定义的异常信息  
  28. echo "异常代码:".$e->getCode()."/n"
  29. //返回用户自定义的异常代码  
  30. echo "文件名:".$e->getFile()."/n"
  31. //返回发生异常的PHP程序文件名  
  32. echo "异常代码所在行".$e->getLine()."/n"
  33. //返回发生异常的代码所在行的行号  
  34. echo "传递路线:";  
  35. print_r($e->getTrace()); 
  36. //以数组形式返回跟踪异常每一步传递的路线  
  37. echo $e->getTraceAsString(); 
  38. //返回格式化成字符串的getTrace函数信息  
  39. }  
  40. function file_open($path)  
  41. {  
  42. try 
  43. {  
  44. if(!file_exists($path))  
  45. {  
  46. throw new FileExistsException("文件无法找到", 1);  
  47. }  
  48.  
  49. if(!fopen($path"r"))  
  50. {  
  51. throw new FileOpenException("文件无法打开", 2);  
  52. }  
  53. }  
  54. catch(Exception $e//捕获异常  
  55. {  
  56. echo "file_open函数在运行过程中出现异常";  
  57. throw $e//重掷异常  
  58. }  
  59. }  
  60. ?> 

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表