PDA

View Full Version : چرا خطا میده؟( استثناها)



naser_haji
جمعه 09 تیر 1391, 14:29 عصر
سلام
من این کد رو اجرا میکنم:

<?php

require_once('class.Demo.php');

$objDemo= new Demo();
$objDemo -> setName('naser');
$objDemo -> sayHello();
$objDemo -> setName(37);

?>
که فایل class.Demo.php هم اینجوریه:

<?php

class Demo {
public $_name;
public function sayHello(){
echo "Hello".$this -> name."!";
}
public function getName(){
return $this -> name ;
}
public function setName($name){
if(!is_string($name) || strlen($name)==0) {
throw new Exception("Invalid name value");
}
$this -> name = $name;
}
}

?>
ولی این خطا رو بهم نشون میده

Fatal error: Uncaught exception 'Exception' with message 'Invalid name value' in C:\Users\Asman\Downloads\Compressed\xampp-win32-1.7.7-VC9\xampp\htdocs\xampp\naser\class.Demo.php:13 Stack trace: #0 C:\Users\Asman\Downloads\Compressed\xampp-win32-1.7.7-VC9\xampp\htdocs\xampp\naser\testdemo.php(8): Demo->setName(37) #1 {main} thrown in C:\Users\Asman\Downloads\Compressed\xampp-win32-1.7.7-VC9\xampp\htdocs\xampp\naser\class.Demo.php on line 13

کسی میدونه جریان چیه و مشکل کجاست؟

aghasoroush
جمعه 09 تیر 1391, 19:12 عصر
با سلام خدمت شما دوست عزیز
شما یه اکسپشن داری میسازی ولی کچ نمی کنی
این فک کنم درست شده باشه


<?php

class Demo {
public $_name;
public function sayHello(){
echo "Hello".$this -> name."!";
}
public function getName(){
return $this -> name ;
}
public function setName($name){
try
{
if(!is_string($name) || strlen($name)==0) {
throw new Exception("Invalid name value");
}
}
catch(Exception e)
{
echo "There is an error whit this code: " . e->getMessage();
}
$this -> name = null;
}
}

?>