当前位置:Gxlcms > PHP教程 > 常见的php异常处理方法

常见的php异常处理方法

时间:2021-07-01 10:21:17 帮助过:20人阅读

本篇文章主要介绍常见的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. function file_open($path)
  12. {
  13. if(!file_exists($path))
  14. //如果文件无法找到,抛出异常对象
  15. {
  16. throw new Exception("文件无法找到", 1);
  17. }
  18. if(!fopen($path, "r"))
  19. //如果文件无法打开,抛出异常对象
  20. {
  21. throw new Exception("文件无法打开", 2);
  22. }
  23. }
  24. ?>
  1. <?php
  2. $path = "D://in.txt";
  3. //文件所在路径
  4. file_open($path);
  5. //调用file_open函数
  6. function file_open($path)
  7. {
  8. if(!file_exists($path))
  9. //如果文件无法找到,抛出异常对象
  10. {
  11. throw new Exception("文件无法找到", 1);
  12. }
  13. if(!fopen($path, "r"))
  14. //如果文件无法打开,抛出异常对象
  15. {
  16. throw new Exception("文件无法打开", 2);
  17. }
  18. }
  19. ?>
  1. <?php
  2. function exception_handler($e)
  3. //用于处理异常的函数
  4. {
  5. echo "未捕获的异常:".$e->getMessage();
  6. }
  7. set_exception_handler("exception_handler");
  8. //设置异常处理函数
  9. try //检测异常
  10. {
  11. $path = "D://in.txt";
  12. }
  13. catch(Exception $e) //捕获异常
  14. {
  15. echo $e->getMessage();
  16. }
  17. file_open($path); //调用函数打开文件
  18. function file_open($path)
  19. {
  20. if(!file_exists($path))
  21. //如果文件无法找到,抛出异常对象
  22. {
  23. throw new Exception("文件无法找到", 1);
  24. }
  25. if(!fopen($path, "r"))
  26. //如果文件无法打开,抛出异常对象
  27. {
  28. throw new Exception("文件无法打开", 2);
  29. }
  30. }
  31. ?>
  1. <?php
  2. $path = "D://in.txt";
  3. try
  4. {
  5. file_open($path); //尝试打开文件
  6. }
  7. catch(Exception $e)
  8. {
  9. echo "异常信息:".$e->getMessage()."/n";
  10. //返回用户自定义的异常信息
  11. echo "异常代码:".$e->getCode()."/n";
  12. //返回用户自定义的异常代码
  13. echo "文件名:".$e->getFile()."/n";
  14. //返回发生异常的PHP程序文件名
  15. echo "异常代码所在行".$e->getLine()."/n";
  16. //返回发生异常的代码所在行的行号
  17. echo "传递路线:";
  18. print_r($e->getTrace());
  19. //以数组形式返回跟踪异常每一步传递的路线
  20. echo $e->getTraceAsString();
  21. //返回格式化成字符串的getTrace函数信息
  22. }
  23. function file_open($path)
  24. {
  25. if(!file_exists($path))
  26. //如果文件不存在,则抛出错误
  27. {
  28. throw new Exception("文件无法找到", 1);
  29. }
  30. if(!fopen($path, "r"))
  31. {
  32. throw new Exception("文件无法打开", 2);
  33. }
  34. }
  35. ?>
  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. if(!fopen($path, "r"))
  48. {
  49. throw new FileOpenException("文件无法打开", 2);
  50. //抛出FileOpenException异常对象
  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(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. //如果文件不存在,则
输出错误 { throw new FileExistsException("文件无法找到", 1); } if(!fopen($path, "r")) { throw new FileOpenException("文件无法打开", 2); } } ?>
  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. if(!fopen($path, "r"))
  49. {
  50. throw new FileOpenException("文件无法打开", 2);
  51. }
  52. }
  53. catch(Exception $e) //捕获异常
  54. {
  55. echo "file_open函数在运行过程中出现异常";
  56. throw $e; //重掷异常
  57. }
  58. }
  59. ?>

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

php无序树的实现技巧

php递归遍历实现无限分类

php流程控制及数学运算

以上就是常见的php异常处理方法的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行