Add exceptions for more connection failures

This commit is contained in:
Robin Appelman 2015-02-05 14:16:38 +01:00
commit c8a93a9033
6 changed files with 82 additions and 0 deletions

View file

@ -0,0 +1,11 @@
<?php
/**
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Licensed under the MIT license:
* http://opensource.org/licenses/MIT
*/
namespace Icewind\SMB\Exception;
class ConnectionRefusedException extends ConnectException {
}

View file

@ -0,0 +1,11 @@
<?php
/**
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Licensed under the MIT license:
* http://opensource.org/licenses/MIT
*/
namespace Icewind\SMB\Exception;
class HostDownException extends ConnectException {
}

View file

@ -0,0 +1,11 @@
<?php
/**
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Licensed under the MIT license:
* http://opensource.org/licenses/MIT
*/
namespace Icewind\SMB\Exception;
class NoRouteToHostException extends ConnectException {
}

View file

@ -0,0 +1,11 @@
<?php
/**
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Licensed under the MIT license:
* http://opensource.org/licenses/MIT
*/
namespace Icewind\SMB\Exception;
class TimedOutException extends ConnectException {
}

View file

@ -8,11 +8,15 @@
namespace Icewind\SMB;
use Icewind\SMB\Exception\AlreadyExistsException;
use Icewind\SMB\Exception\ConnectionRefusedException;
use Icewind\SMB\Exception\Exception;
use Icewind\SMB\Exception\ForbiddenException;
use Icewind\SMB\Exception\HostDownException;
use Icewind\SMB\Exception\InvalidTypeException;
use Icewind\SMB\Exception\NoRouteToHostException;
use Icewind\SMB\Exception\NotEmptyException;
use Icewind\SMB\Exception\NotFoundException;
use Icewind\SMB\Exception\TimedOutException;
/**
* Low level wrapper for libsmbclient-php for error handling
@ -46,6 +50,14 @@ class NativeState {
throw new InvalidTypeException($path, $error);
case 39:
throw new NotEmptyException($path, $error);
case 110:
throw new TimedOutException($path, $error);
case 111:
throw new ConnectionRefusedException($path, $error);
case 112:
throw new HostDownException($path, $error);
case 113:
throw new NoRouteToHostException($path, $error);
default:
$message = 'Unknown error (' . $error . ')';
if ($path) {